const LFUCache = require('./lfu');
const assert = require('assert');

describe('LFUCache2', function() {
  it('Leetcode complex test 4', function() {
    const cache = new LFUCache(1101);
    cache.put(253, 668);
    cache.put(202, 206);
    cache.put(1231, 3177);
    assert.equal(cache.get(465), null);
    assert.equal(cache.get(1333), null);
    cache.put(651, 3249);
    cache.put(453, 2472);
    assert.equal(cache.get(1050), null);
    cache.put(145, 881);
    cache.put(1256, 1320);
    cache.put(342, 1528);
    assert.equal(cache.get(37), null);
    cache.put(280, 2814);
    assert.equal(cache.get(11), null);
    cache.put(878, 903);
    cache.put(1278, 2808);
    cache.put(942, 3238);
    cache.put(397, 57);
    cache.put(89, 305);
    cache.put(998, 1703);
    cache.put(1386, 1660);
    cache.put(250, 2904);
    assert.equal(cache.get(865), null);
    cache.put(21, 639);
    cache.put(1153, 751);
    cache.put(682, 3156);
    cache.put(1246, 2932);
    cache.put(1347, 2057);
    cache.put(955, 1432);
    cache.put(1092, 3132);
    cache.put(559, 340);
    cache.put(998, 122);
    cache.put(94, 2562);
    cache.put(194, 1349);
    cache.put(643, 1808);
    cache.put(905, 2449);
    cache.put(1361, 607);
    cache.put(1374, 715);
    assert.equal(cache.get(1052), null);
    assert.equal(cache.get(535), null);
    assert.equal(cache.get(1122), null);
    cache.put(88, 137);
    assert.equal(cache.get(732), null);
    cache.put(81, 2229);
    cache.put(219, 3241);
    assert.equal(cache.get(501), null);
    assert.equal(cache.get(1128), null);
    cache.put(1006, 2187);
    cache.put(418, 1497);
    assert.equal(cache.get(653), null);
    assert.equal(cache.get(170), null);
    cache.put(39, 1072);
    assert.equal(cache.get(1080), null);
    assert.equal(cache.get(1274), null);
    cache.put(274, 2);
    assert.equal(cache.get(1289), null);
    cache.put(1086, 2655);
    cache.put(647, 1951);
    cache.put(1216, 2505);
    assert.equal(cache.get(1119), null);
    assert.equal(cache.get(724), null);
    assert.equal(cache.get(1279), null);
    cache.put(534, 955);
    cache.put(792, 1351);
    cache.put(711, 1345);
    assert.equal(cache.get(719), null);
    cache.put(939, 2615);
    cache.put(695, 2471);
    cache.put(3, 962);
    assert.equal(cache.get(694), null);
    cache.put(399, 1117);
    cache.put(837, 3074);
    cache.put(937, 252);
    cache.put(499, 2517);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(366), null);
    assert.equal(cache.get(166), null);
    cache.put(591, 3022);
    cache.put(1384, 569);
    cache.put(1181, 1727);
    assert.equal(cache.get(387), null);
    cache.put(832, 1386);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(994), null);
    cache.put(496, 1320);
    assert.equal(cache.get(208), null);
    cache.put(1186, 2479);
    assert.equal(cache.get(1092), 3132);
    assert.equal(cache.get(1147), null);
    cache.put(313, 3153);
    assert.equal(cache.get(710), null);
    assert.equal(cache.get(716), null);
    assert.equal(cache.get(1353), null);
    assert.equal(cache.get(109), null);
    cache.put(1220, 1526);
    cache.put(1269, 2918);
    cache.put(768, 253);
    cache.put(1080, 385);
    assert.equal(cache.get(623), null);
    assert.equal(cache.get(465), null);
    cache.put(1431, 2720);
    cache.put(421, 934);
    cache.put(943, 1794);
    assert.equal(cache.get(577), null);
    assert.equal(cache.get(737), null);
    assert.equal(cache.get(213), null);
    cache.put(73, 2109);
    cache.put(1135, 2295);
    cache.put(899, 2812);
    assert.equal(cache.get(544), null);
    cache.put(833, 1738);
    cache.put(1007, 2741);
    assert.equal(cache.get(115), null);
    cache.put(787, 1541);
    cache.put(838, 175);
    assert.equal(cache.get(808), null);
    assert.equal(cache.get(76), null);
    assert.equal(cache.get(1258), null);
    assert.equal(cache.get(129), null);
    cache.put(792, 1352);
    assert.equal(cache.get(401), null);
    assert.equal(cache.get(1206), null);
    cache.put(1265, 3261);
    cache.put(1234, 786);
    assert.equal(cache.get(1050), null);
    assert.equal(cache.get(994), null);
    cache.put(644, 1645);
    cache.put(320, 1015);
    cache.put(449, 1254);
    cache.put(525, 880);
    cache.put(499, 2711);
    cache.put(1140, 579);
    cache.put(624, 2493);
    cache.put(547, 2502);
    cache.put(1296, 1389);
    cache.put(465, 2699);
    assert.equal(cache.get(737), null);
    assert.equal(cache.get(112), null);
    cache.put(151, 2352);
    cache.put(525, 533);
    assert.equal(cache.get(732), null);
    cache.put(574, 2091);
    cache.put(1124, 2645);
    assert.equal(cache.get(766), null);
    assert.equal(cache.get(79), null);
    assert.equal(cache.get(877), null);
    cache.put(873, 2238);
    assert.equal(cache.get(1250), null);
    cache.put(1109, 453);
    cache.put(796, 1600);
    assert.equal(cache.get(1095), null);
    cache.put(540, 1800);
    assert.equal(cache.get(1429), null);
    cache.put(409, 1288);
    cache.put(959, 1555);
    cache.put(401, 1945);
    cache.put(678, 1850);
    cache.put(674, 2882);
    assert.equal(cache.get(64), null);
    assert.equal(cache.get(1245), null);
    assert.equal(cache.get(1201), null);
    cache.put(184, 2814);
    assert.equal(cache.get(649), null);
    cache.put(699, 2440);
    cache.put(767, 492);
    cache.put(211, 1386);
    cache.put(1247, 1951);
    cache.put(921, 904);
    cache.put(1185, 2528);
    cache.put(727, 450);
    cache.put(583, 1540);
    assert.equal(cache.get(207), null);
    assert.equal(cache.get(1205), null);
    assert.equal(cache.get(745), null);
    cache.put(252, 1765);
    cache.put(707, 242);
    cache.put(64, 1462);
    assert.equal(cache.get(957), null);
    cache.put(1071, 2116);
    cache.put(1319, 1053);
    assert.equal(cache.get(236), null);
    cache.put(798, 2781);
    assert.equal(cache.get(570), null);
    assert.equal(cache.get(295), null);
    cache.put(1340, 2681);
    assert.equal(cache.get(136), null);
    cache.put(168, 1650);
    cache.put(1128, 3109);
    assert.equal(cache.get(688), null);
    cache.put(1192, 784);
    cache.put(401, 1047);
    cache.put(797, 2219);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(1186), 2479);
    assert.equal(cache.get(91), null);
    cache.put(512, 1653);
    assert.equal(cache.get(1288), null);
    assert.equal(cache.get(1424), null);
    cache.put(321, 2992);
    cache.put(257, 2032);
    assert.equal(cache.get(787), 1541);
    cache.put(332, 1587);
    cache.put(510, 700);
    cache.put(896, 1710);
    assert.equal(cache.get(850), null);
    cache.put(85, 621);
    assert.equal(cache.get(732), null);
    assert.equal(cache.get(113), null);
    cache.put(754, 2951);
    cache.put(134, 902);
    assert.equal(cache.get(1250), null);
    cache.put(927, 1244);
    cache.put(1248, 40);
    cache.put(441, 1078);
    cache.put(1304, 2908);
    assert.equal(cache.get(1286), null);
    assert.equal(cache.get(79), null);
    cache.put(220, 2207);
    cache.put(47, 528);
    assert.equal(cache.get(835), null);
    cache.put(1387, 1855);
    cache.put(736, 704);
    cache.put(669, 1932);
    assert.equal(cache.get(208), null);
    cache.put(3, 866);
    assert.equal(cache.get(1363), null);
    assert.equal(cache.get(1213), null);
    assert.equal(cache.get(213), null);
    cache.put(1421, 1173);
    cache.put(1423, 932);
    cache.put(1427, 664);
    cache.put(1143, 2247);
    cache.put(362, 1730);
    cache.put(9, 1226);
    assert.equal(cache.get(898), null);
    cache.put(115, 3264);
    cache.put(1172, 1706);
    cache.put(39, 185);
    cache.put(784, 728);
    assert.equal(cache.get(1150), null);
    cache.put(926, 298);
    cache.put(58, 583);
    assert.equal(cache.get(1242), null);
    assert.equal(cache.get(1115), null);
    cache.put(363, 2338);
    cache.put(1241, 2596);
    assert.equal(cache.get(1148), null);
    assert.equal(cache.get(198), null);
    cache.put(742, 2135);
    cache.put(430, 1089);
    cache.put(1192, 3104);
    cache.put(583, 419);
    cache.put(1101, 1930);
    cache.put(617, 1926);
    assert.equal(cache.get(1286), null);
    cache.put(324, 1488);
    assert.equal(cache.get(1321), null);
    cache.put(76, 2881);
    cache.put(1243, 2711);
    assert.equal(cache.get(1415), null);
    assert.equal(cache.get(467), null);
    assert.equal(cache.get(103), null);
    cache.put(687, 1236);
    assert.equal(cache.get(1198), null);
    assert.equal(cache.get(1346), null);
    assert.equal(cache.get(760), null);
    cache.put(945, 554);
    cache.put(1195, 1002);
    cache.put(212, 1565);
    cache.put(506, 2242);
    cache.put(534, 2949);
    assert.equal(cache.get(63), null);
    assert.equal(cache.get(845), null);
    assert.equal(cache.get(899), 2812);
    cache.put(754, 876);
    cache.put(1076, 2403);
    cache.put(677, 3117);
    assert.equal(cache.get(1168), null);
    cache.put(1274, 606);
    assert.equal(cache.get(997), null);
    cache.put(976, 1001);
    assert.equal(cache.get(1179), null);
    cache.put(363, 1560);
    cache.put(448, 1751);
    cache.put(511, 788);
    cache.put(607, 2172);
    cache.put(863, 236);
    cache.put(616, 1954);
    assert.equal(cache.get(45), null);
    cache.put(261, 2260);
    cache.put(169, 1025);
    assert.equal(cache.get(159), null);
    cache.put(111, 2522);
    assert.equal(cache.get(1063), null);
    cache.put(623, 383);
    assert.equal(cache.get(826), null);
    cache.put(969, 2266);
    cache.put(1222, 3158);
    cache.put(83, 658);
    assert.equal(cache.get(1050), null);
    assert.equal(cache.get(718), null);
    cache.put(451, 1726);
    cache.put(25, 644);
    assert.equal(cache.get(1354), null);
    cache.put(1266, 2120);
    cache.put(926, 905);
    assert.equal(cache.get(841), null);
    cache.put(1033, 725);
    assert.equal(cache.get(818), null);
    assert.equal(cache.get(170), null);
    assert.equal(cache.get(638), null);
    assert.equal(cache.get(708), null);
    assert.equal(cache.get(174), null);
    cache.put(909, 1170);
    cache.put(159, 2824);
    assert.equal(cache.get(575), null);
    assert.equal(cache.get(957), null);
    assert.equal(cache.get(199), null);
    assert.equal(cache.get(377), null);
    cache.put(372, 2686);
    assert.equal(cache.get(114), null);
    cache.put(212, 1905);
    assert.equal(cache.get(197), null);
    cache.put(1049, 535);
    cache.put(1382, 608);
    cache.put(454, 1082);
    assert.equal(cache.get(366), null);
    cache.put(416, 1931);
    cache.put(318, 1106);
    assert.equal(cache.get(269), null);
    assert.equal(cache.get(1242), null);
    cache.put(1333, 3264);
    cache.put(1350, 220);
    cache.put(200, 2216);
    assert.equal(cache.get(392), null);
    cache.put(556, 2487);
    assert.equal(cache.get(464), null);
    cache.put(1132, 3286);
    assert.equal(cache.get(879), null);
    assert.equal(cache.get(1277), null);
    cache.put(348, 2345);
    assert.equal(cache.get(1039), null);
    cache.put(715, 187);
    cache.put(112, 2658);
    cache.put(231, 961);
    assert.equal(cache.get(582), null);
    cache.put(1343, 411);
    cache.put(863, 1497);
    assert.equal(cache.get(175), null);
    cache.put(151, 1433);
    assert.equal(cache.get(1399), null);
    assert.equal(cache.get(1080), 385);
    assert.equal(cache.get(23), null);
    cache.put(328, 1188);
    assert.equal(cache.get(850), null);
    assert.equal(cache.get(870), null);
    cache.put(900, 841);
    cache.put(899, 659);
    cache.put(1059, 2787);
    cache.put(1052, 1571);
    cache.put(14, 855);
    cache.put(531, 2224);
    assert.equal(cache.get(207), null);
    assert.equal(cache.get(166), null);
    cache.put(184, 1798);
    assert.equal(cache.get(63), null);
    cache.put(1396, 2011);
    assert.equal(cache.get(1029), null);
    assert.equal(cache.get(1229), null);
    assert.equal(cache.get(16), null);
    assert.equal(cache.get(920), null);
    cache.put(697, 64);
    cache.put(232, 2462);
    cache.put(327, 3087);
    cache.put(343, 2848);
    assert.equal(cache.get(1408), null);
    cache.put(1122, 1839);
    cache.put(1024, 513);
    cache.put(553, 2238);
    cache.put(1031, 3267);
    cache.put(1388, 2886);
    cache.put(202, 2707);
    cache.put(408, 1363);
    cache.put(1190, 997);
    assert.equal(cache.get(1167), null);
    assert.equal(cache.get(1240), null);
    assert.equal(cache.get(604), null);
    cache.put(995, 2725);
    cache.put(1069, 1977);
    cache.put(970, 3040);
    cache.put(1044, 1124);
    cache.put(1342, 1617);
    assert.equal(cache.get(1407), null);
    assert.equal(cache.get(854), null);
    cache.put(532, 3298);
    cache.put(798, 2451);
    assert.equal(cache.get(707), 242);
    assert.equal(cache.get(900), 841);
    cache.put(1232, 1737);
    cache.put(1124, 1767);
    assert.equal(cache.get(1120), null);
    cache.put(1407, 2412);
    assert.equal(cache.get(41), null);
    cache.put(1219, 127);
    cache.put(670, 1219);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(1004), null);
    cache.put(1375, 2615);
    assert.equal(cache.get(1089), null);
    assert.equal(cache.get(922), null);
    cache.put(1375, 1591);
    cache.put(175, 3285);
    cache.put(290, 2765);
    assert.equal(cache.get(307), null);
    cache.put(145, 62);
    assert.equal(cache.get(1193), null);
    cache.put(722, 19);
    cache.put(257, 918);
    cache.put(548, 906);
    cache.put(45, 1749);
    assert.equal(cache.get(147), null);
    cache.put(1266, 1602);
    cache.put(1063, 1991);
    cache.put(602, 2624);
    assert.equal(cache.get(1193), null);
    cache.put(58, 1292);
    cache.put(59, 2708);
    assert.equal(cache.get(1354), null);
    cache.put(1168, 2694);
    cache.put(301, 2115);
    cache.put(47, 895);
    cache.put(978, 1737);
    assert.equal(cache.get(485), null);
    assert.equal(cache.get(896), 1710);
    assert.equal(cache.get(337), null);
    assert.equal(cache.get(792), 1352);
    cache.put(1418, 2340);
    assert.equal(cache.get(68), null);
    cache.put(1257, 1496);
    cache.put(1250, 1778);
    assert.equal(cache.get(539), null);
    assert.equal(cache.get(1323), null);
    assert.equal(cache.get(917), null);
    assert.equal(cache.get(231), 961);
    cache.put(110, 3163);
    cache.put(875, 2046);
    assert.equal(cache.get(875), 2046);
    assert.equal(cache.get(184), 1798);
    cache.put(705, 2580);
    assert.equal(cache.get(395), null);
    cache.put(806, 2123);
    assert.equal(cache.get(801), null);
    assert.equal(cache.get(1020), null);
    cache.put(1431, 1073);
    assert.equal(cache.get(756), null);
    cache.put(465, 1489);
    cache.put(697, 546);
    cache.put(1405, 669);
    cache.put(408, 2554);
    cache.put(307, 712);
    assert.equal(cache.get(17), null);
    cache.put(891, 824);
    cache.put(393, 2705);
    assert.equal(cache.get(298), null);
    cache.put(846, 20);
    cache.put(91, 2503);
    assert.equal(cache.get(233), null);
    cache.put(63, 2583);
    cache.put(44, 3159);
    assert.equal(cache.get(1114), null);
    cache.put(870, 1756);
    assert.equal(cache.get(753), null);
    cache.put(271, 2394);
    cache.put(6, 1316);
    cache.put(169, 2153);
    cache.put(1283, 3);
    assert.equal(cache.get(401), 1047);
    cache.put(910, 1841);
    cache.put(177, 2131);
    cache.put(970, 2024);
    cache.put(1372, 2361);
    assert.equal(cache.get(335), null);
    assert.equal(cache.get(1208), null);
    assert.equal(cache.get(1034), null);
    cache.put(248, 3134);
    cache.put(1156, 1114);
    assert.equal(cache.get(1034), null);
    cache.put(1059, 766);
    assert.equal(cache.get(161), null);
    cache.put(340, 1395);
    cache.put(1333, 932);
    cache.put(1337, 2359);
    cache.put(690, 463);
    assert.equal(cache.get(22), null);
    cache.put(400, 1594);
    assert.equal(cache.get(624), 2493);
    cache.put(1281, 2950);
    cache.put(446, 1274);
    cache.put(94, 3291);
    assert.equal(cache.get(233), null);
    cache.put(545, 2490);
    cache.put(358, 2922);
    cache.put(230, 928);
    cache.put(892, 783);
    assert.equal(cache.get(559), 340);
    assert.equal(cache.get(608), null);
    assert.equal(cache.get(537), null);
    cache.put(1401, 686);
    assert.equal(cache.get(550), null);
    assert.equal(cache.get(1328), null);
    assert.equal(cache.get(583), 419);
    assert.equal(cache.get(347), null);
    cache.put(1203, 2711);
    cache.put(517, 1602);
    assert.equal(cache.get(1279), null);
    assert.equal(cache.get(434), null);
    cache.put(536, 3206);
    cache.put(1286, 2074);
    assert.equal(cache.get(70), null);
    assert.equal(cache.get(217), null);
    cache.put(887, 2855);
    assert.equal(cache.get(1318), null);
    assert.equal(cache.get(811), null);
    cache.put(309, 1652);
    assert.equal(cache.get(1284), null);
    cache.put(449, 742);
    cache.put(240, 242);
    cache.put(267, 778);
    assert.equal(cache.get(1373), null);
    cache.put(1195, 3133);
    cache.put(318, 2175);
    cache.put(148, 2086);
    cache.put(102, 1094);
    assert.equal(cache.get(466), null);
    cache.put(76, 339);
    cache.put(380, 2113);
    assert.equal(cache.get(1100), null);
    cache.put(444, 3137);
    assert.equal(cache.get(1184), null);
    cache.put(539, 1008);
    cache.put(173, 3020);
    cache.put(802, 1192);
    assert.equal(cache.get(3), 866);
    assert.equal(cache.get(538), null);
    assert.equal(cache.get(956), null);
    cache.put(888, 1452);
    cache.put(11, 245);
    cache.put(891, 2635);
    cache.put(1317, 2008);
    cache.put(1264, 1855);
    assert.equal(cache.get(301), 2115);
    assert.equal(cache.get(986), null);
    cache.put(703, 677);
    assert.equal(cache.get(1100), null);
    cache.put(1084, 652);
    cache.put(1017, 2434);
    assert.equal(cache.get(309), 1652);
    assert.equal(cache.get(503), null);
    cache.put(1068, 2129);
    cache.put(317, 782);
    assert.equal(cache.get(1010), null);
    assert.equal(cache.get(916), null);
    assert.equal(cache.get(604), null);
    assert.equal(cache.get(828), null);
    assert.equal(cache.get(1134), null);
    cache.put(984, 2);
    assert.equal(cache.get(374), null);
    assert.equal(cache.get(203), null);
    cache.put(440, 494);
    cache.put(644, 2123);
    cache.put(874, 614);
    assert.equal(cache.get(1193), null);
    cache.put(1108, 2917);
    assert.equal(cache.get(907), null);
    assert.equal(cache.get(1304), 2908);
    cache.put(1166, 1267);
    assert.equal(cache.get(1302), null);
    assert.equal(cache.get(1152), null);
    cache.put(691, 1321);
    cache.put(1406, 1935);
    cache.put(135, 2872);
    assert.equal(cache.get(231), 961);
    cache.put(215, 1787);
    cache.put(1019, 1319);
    cache.put(1425, 2538);
    assert.equal(cache.get(130), null);
    assert.equal(cache.get(136), null);
    assert.equal(cache.get(89), 305);
    cache.put(1378, 1995);
    cache.put(907, 938);
    cache.put(940, 675);
    assert.equal(cache.get(1152), null);
    cache.put(1110, 2231);
    cache.put(1080, 725);
    cache.put(557, 305);
    cache.put(32, 701);
    cache.put(1336, 771);
    cache.put(827, 1267);
    cache.put(265, 1352);
    assert.equal(cache.get(1106), null);
    assert.equal(cache.get(154), null);
    assert.equal(cache.get(950), null);
    assert.equal(cache.get(1316), null);
    cache.put(1249, 690);
    assert.equal(cache.get(434), null);
    assert.equal(cache.get(741), null);
    cache.put(205, 3214);
    assert.equal(cache.get(1080), 725);
    cache.put(318, 392);
    assert.equal(cache.get(1304), 2908);
    cache.put(1168, 1501);
    assert.equal(cache.get(1094), null);
    cache.put(1061, 183);
    cache.put(984, 2438);
    assert.equal(cache.get(634), null);
    assert.equal(cache.get(825), null);
    assert.equal(cache.get(645), null);
    cache.put(935, 1694);
    assert.equal(cache.get(817), null);
    cache.put(637, 1598);
    cache.put(935, 2908);
    cache.put(1385, 2609);
    cache.put(862, 3199);
    assert.equal(cache.get(883), null);
    assert.equal(cache.get(604), null);
    cache.put(1285, 1039);
    assert.equal(cache.get(471), null);
    cache.put(421, 373);
    assert.equal(cache.get(439), null);
    assert.equal(cache.get(1056), null);
    cache.put(776, 2299);
    cache.put(130, 1761);
    assert.equal(cache.get(1010), null);
    cache.put(131, 2728);
    assert.equal(cache.get(193), null);
    assert.equal(cache.get(1134), null);
    assert.equal(cache.get(837), 3074);
    assert.equal(cache.get(969), 2266);
    cache.put(793, 280);
    cache.put(73, 3163);
    cache.put(1412, 515);
    cache.put(841, 1894);
    cache.put(1270, 2117);
    cache.put(349, 126);
    cache.put(1272, 609);
    assert.equal(cache.get(544), null);
    cache.put(1403, 1263);
    cache.put(526, 2679);
    cache.put(612, 2793);
    assert.equal(cache.get(852), null);
    assert.equal(cache.get(1044), 1124);
    assert.equal(cache.get(837), 3074);
    assert.equal(cache.get(1147), null);
    cache.put(483, 2139);
    cache.put(313, 753);
    cache.put(1044, 2705);
    cache.put(458, 1677);
    cache.put(844, 2756);
    assert.equal(cache.get(383), null);
    cache.put(676, 1459);
    assert.equal(cache.get(419), null);
    cache.put(1103, 271);
    assert.equal(cache.get(145), 62);
    assert.equal(cache.get(152), null);
    cache.put(387, 1946);
    cache.put(753, 96);
    assert.equal(cache.get(483), 2139);
    cache.put(469, 2219);
    cache.put(1238, 893);
    cache.put(1187, 449);
    assert.equal(cache.get(186), null);
    assert.equal(cache.get(364), null);
    cache.put(76, 3021);
    assert.equal(cache.get(493), null);
    assert.equal(cache.get(1239), null);
    cache.put(689, 3158);
    assert.equal(cache.get(290), 2765);
    assert.equal(cache.get(1424), null);
    assert.equal(cache.get(1172), 1706);
    assert.equal(cache.get(1016), null);
    assert.equal(cache.get(179), null);
    assert.equal(cache.get(320), 1015);
    cache.put(235, 602);
    cache.put(1207, 448);
    cache.put(963, 1011);
    assert.equal(cache.get(1384), 569);
    cache.put(373, 2930);
    assert.equal(cache.get(591), 3022);
    assert.equal(cache.get(674), 2882);
    cache.put(815, 351);
    cache.put(477, 906);
    assert.equal(cache.get(106), null);
    cache.put(1359, 721);
    assert.equal(cache.get(898), null);
    assert.equal(cache.get(96), null);
    cache.put(1295, 1855);
    cache.put(185, 2804);
    assert.equal(cache.get(1324), null);
    cache.put(188, 2477);
    cache.put(1411, 2209);
    assert.equal(cache.get(1262), null);
    cache.put(536, 579);
    assert.equal(cache.get(1410), null);
    cache.put(63, 1356);
    assert.equal(cache.get(867), null);
    cache.put(1235, 853);
    assert.equal(cache.get(593), null);
    assert.equal(cache.get(1362), null);
    assert.equal(cache.get(301), 2115);
    cache.put(1233, 1089);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(508), null);
    cache.put(102, 1513);
    cache.put(998, 1167);
    cache.put(791, 3092);
    assert.equal(cache.get(967), null);
    assert.equal(cache.get(1375), 1591);
    assert.equal(cache.get(1386), 1660);
    assert.equal(cache.get(525), 533);
    cache.put(494, 3177);
    cache.put(1068, 2881);
    cache.put(407, 127);
    cache.put(1, 1707);
    cache.put(976, 1828);
    cache.put(869, 1597);
    assert.equal(cache.get(1262), null);
    cache.put(865, 1123);
    cache.put(734, 1540);
    cache.put(345, 1055);
    cache.put(406, 236);
    cache.put(669, 2175);
    cache.put(342, 2691);
    cache.put(1, 1713);
    cache.put(938, 2940);
    cache.put(1107, 2957);
    cache.put(154, 867);
    assert.equal(cache.get(1234), 786);
    cache.put(1252, 807);
    assert.equal(cache.get(694), null);
    assert.equal(cache.get(842), null);
    assert.equal(cache.get(613), null);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(367), null);
    cache.put(987, 901);
    cache.put(1191, 2075);
    cache.put(67, 2235);
    cache.put(1430, 415);
    cache.put(1251, 2659);
    cache.put(612, 2552);
    assert.equal(cache.get(231), 961);
    cache.put(1044, 516);
    cache.put(735, 1796);
    assert.equal(cache.get(1419), null);
    cache.put(664, 1749);
    cache.put(481, 1448);
    assert.equal(cache.get(117), null);
    assert.equal(cache.get(488), null);
    cache.put(1399, 528);
    assert.equal(cache.get(766), null);
    cache.put(322, 3134);
    assert.equal(cache.get(1110), 2231);
    assert.equal(cache.get(935), 2908);
    cache.put(1045, 7);
    cache.put(183, 2705);
    assert.equal(cache.get(167), null);
    cache.put(1012, 1063);
    cache.put(391, 1748);
    assert.equal(cache.get(1190), 997);
    cache.put(544, 2335);
    assert.equal(cache.get(328), 1188);
    assert.equal(cache.get(1256), 1320);
    cache.put(817, 2517);
    assert.equal(cache.get(824), null);
    assert.equal(cache.get(190), null);
    cache.put(378, 96);
    assert.equal(cache.get(1269), 2918);
    assert.equal(cache.get(119), null);
    cache.put(980, 1026);
    assert.equal(cache.get(854), null);
    cache.put(285, 2332);
    cache.put(32, 1563);
    cache.put(835, 2828);
    assert.equal(cache.get(1063), 1991);
    cache.put(501, 1231);
    assert.equal(cache.get(587), null);
    cache.put(36, 924);
    assert.equal(cache.get(440), 494);
    assert.equal(cache.get(1313), null);
    cache.put(221, 2040);
    cache.put(1132, 139);
    assert.equal(cache.get(1109), 453);
    cache.put(494, 152);
    assert.equal(cache.get(875), 2046);
    assert.equal(cache.get(468), null);
    cache.put(566, 1741);
    cache.put(216, 2546);
    cache.put(1176, 2973);
    assert.equal(cache.get(50), null);
    assert.equal(cache.get(1050), null);
    cache.put(1051, 1558);
    assert.equal(cache.get(191), null);
    assert.equal(cache.get(1195), 3133);
    cache.put(389, 2605);
    cache.put(398, 2806);
    assert.equal(cache.get(1395), null);
    assert.equal(cache.get(794), null);
    assert.equal(cache.get(502), null);
    cache.put(270, 388);
    cache.put(494, 2116);
    cache.put(220, 3157);
    cache.put(1360, 1991);
    cache.put(832, 1350);
    cache.put(297, 2293);
    cache.put(820, 3181);
    assert.equal(cache.get(1062), null);
    assert.equal(cache.get(746), null);
    assert.equal(cache.get(563), null);
    assert.equal(cache.get(1397), null);
    assert.equal(cache.get(1111), null);
    cache.put(399, 3079);
    cache.put(600, 650);
    cache.put(220, 283);
    cache.put(149, 2674);
    cache.put(96, 218);
    cache.put(258, 1067);
    cache.put(639, 1570);
    assert.equal(cache.get(410), null);
    cache.put(846, 1402);
    cache.put(337, 509);
    cache.put(1034, 363);
    cache.put(1346, 26);
    assert.equal(cache.get(494), 2116);
    assert.equal(cache.get(273), null);
    cache.put(86, 3012);
    cache.put(738, 1595);
    cache.put(218, 1577);
    assert.equal(cache.get(101), null);
    cache.put(951, 1566);
    assert.equal(cache.get(659), null);
    assert.equal(cache.get(1038), null);
    assert.equal(cache.get(1251), 2659);
    cache.put(1, 1526);
    cache.put(251, 1074);
    cache.put(1077, 1030);
    cache.put(711, 163);
    assert.equal(cache.get(393), 2705);
    assert.equal(cache.get(493), null);
    cache.put(208, 2504);
    cache.put(50, 1405);
    cache.put(418, 2039);
    assert.equal(cache.get(1243), 2711);
    assert.equal(cache.get(230), 928);
    cache.put(822, 663);
    cache.put(722, 268);
    assert.equal(cache.get(235), 602);
    assert.equal(cache.get(1338), null);
    cache.put(1171, 136);
    assert.equal(cache.get(1200), null);
    assert.equal(cache.get(1249), 690);
    cache.put(335, 1625);
    cache.put(1286, 2238);
    cache.put(1283, 1874);
    assert.equal(cache.get(1172), 1706);
    cache.put(562, 420);
    cache.put(1346, 2742);
    cache.put(977, 2815);
    assert.equal(cache.get(1202), null);
    cache.put(47, 3169);
    cache.put(747, 512);
    assert.equal(cache.get(1009), null);
    cache.put(103, 2428);
    assert.equal(cache.get(651), 3249);
    assert.equal(cache.get(544), 2335);
    assert.equal(cache.get(285), 2332);
    assert.equal(cache.get(860), null);
    cache.put(203, 1860);
    cache.put(1151, 2538);
    cache.put(1206, 639);
    assert.equal(cache.get(678), 1850);
    cache.put(868, 2803);
    assert.equal(cache.get(931), null);
    assert.equal(cache.get(1250), 1778);
    assert.equal(cache.get(36), 924);
    cache.put(10, 934);
    cache.put(149, 1725);
    cache.put(551, 717);
    assert.equal(cache.get(558), null);
    cache.put(82, 125);
    cache.put(662, 3271);
    cache.put(1409, 3040);
    cache.put(83, 2883);
    assert.equal(cache.get(154), 867);
    cache.put(1425, 1881);
    cache.put(1403, 971);
    cache.put(426, 2583);
    cache.put(1215, 2212);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(1394), null);
    cache.put(1275, 2519);
    cache.put(1093, 1349);
    assert.equal(cache.get(685), null);
    cache.put(934, 1585);
    cache.put(282, 1793);
    cache.put(1109, 1251);
    assert.equal(cache.get(827), 1267);
    assert.equal(cache.get(1244), null);
    assert.equal(cache.get(544), 2335);
    assert.equal(cache.get(171), null);
    cache.put(843, 2042);
    cache.put(153, 2032);
    cache.put(265, 2414);
    assert.equal(cache.get(47), 3169);
    assert.equal(cache.get(1430), 415);
    cache.put(927, 2832);
    cache.put(1111, 1997);
    assert.equal(cache.get(1199), null);
    cache.put(777, 2133);
    cache.put(435, 1906);
    assert.equal(cache.get(212), 1905);
    cache.put(888, 3040);
    assert.equal(cache.get(405), null);
    cache.put(885, 2085);
    cache.put(578, 1199);
    assert.equal(cache.get(1281), 2950);
    assert.equal(cache.get(902), null);
    cache.put(1320, 2670);
    assert.equal(cache.get(414), null);
    cache.put(978, 1082);
    assert.equal(cache.get(774), null);
    cache.put(879, 3051);
    cache.put(1358, 2139);
    cache.put(249, 2257);
    assert.equal(cache.get(756), null);
    cache.put(535, 1544);
    assert.equal(cache.get(440), 494);
    cache.put(559, 855);
    cache.put(137, 1366);
    assert.equal(cache.get(780), null);
    assert.equal(cache.get(321), 2992);
    cache.put(779, 3010);
    cache.put(1076, 3051);
    cache.put(428, 293);
    assert.equal(cache.get(227), null);
    assert.equal(cache.get(1363), null);
    assert.equal(cache.get(1187), 449);
    cache.put(1153, 1992);
    cache.put(294, 323);
    assert.equal(cache.get(354), null);
    assert.equal(cache.get(974), null);
    assert.equal(cache.get(805), null);
    assert.equal(cache.get(13), null);
    cache.put(33, 2273);
    assert.equal(cache.get(19), null);
    cache.put(684, 1246);
    assert.equal(cache.get(1289), null);
    cache.put(1381, 2111);
    cache.put(1073, 351);
    cache.put(991, 535);
    assert.equal(cache.get(461), null);
    cache.put(333, 2928);
    assert.equal(cache.get(1105), null);
    cache.put(1298, 1071);
    assert.equal(cache.get(377), null);
    assert.equal(cache.get(680), null);
    cache.put(717, 3021);
    assert.equal(cache.get(1348), null);
    cache.put(720, 262);
    cache.put(1010, 166);
    assert.equal(cache.get(404), null);
    cache.put(1105, 2192);
    assert.equal(cache.get(443), null);
    cache.put(1141, 525);
    cache.put(1430, 1843);
    assert.equal(cache.get(751), null);
    assert.equal(cache.get(963), 1011);
    assert.equal(cache.get(1265), 3261);
    cache.put(139, 1430);
    cache.put(993, 1211);
    cache.put(684, 2115);
    cache.put(280, 630);
    cache.put(55, 3214);
    cache.put(753, 610);
    cache.put(1063, 1835);
    cache.put(954, 2280);
    cache.put(463, 787);
    cache.put(1199, 187);
    cache.put(982, 2508);
    assert.equal(cache.get(155), null);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(1073), 351);
    cache.put(1045, 2309);
    cache.put(295, 532);
    cache.put(209, 1792);
    cache.put(404, 2063);
    cache.put(882, 579);
    cache.put(927, 127);
    assert.equal(cache.get(515), null);
    assert.equal(cache.get(418), 2039);
    cache.put(351, 2284);
    cache.put(1169, 645);
    assert.equal(cache.get(1183), null);
    cache.put(707, 1651);
    assert.equal(cache.get(18), null);
    cache.put(43, 1452);
    assert.equal(cache.get(281), null);
    cache.put(728, 614);
    cache.put(1172, 3154);
    assert.equal(cache.get(559), 855);
    assert.equal(cache.get(135), 2872);
    assert.equal(cache.get(646), null);
    assert.equal(cache.get(191), null);
    cache.put(148, 2640);
    cache.put(761, 104);
    cache.put(970, 1591);
    cache.put(211, 2250);
    cache.put(10, 2401);
    cache.put(590, 2848);
    assert.equal(cache.get(1206), 639);
    cache.put(637, 1786);
    cache.put(644, 919);
    cache.put(129, 1595);
    assert.equal(cache.get(913), null);
    cache.put(784, 93);
    cache.put(1141, 2470);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(557), 305);
    cache.put(1366, 2980);
    cache.put(671, 1115);
    cache.put(87, 806);
    assert.equal(cache.get(440), 494);
    cache.put(601, 3260);
    cache.put(699, 170);
    assert.equal(cache.get(1002), null);
    assert.equal(cache.get(1240), null);
    assert.equal(cache.get(770), null);
    cache.put(892, 1914);
    cache.put(1030, 473);
    cache.put(160, 2552);
    assert.equal(cache.get(566), 1741);
    cache.put(186, 1304);
    assert.equal(cache.get(191), null);
    cache.put(594, 3016);
    cache.put(1114, 1701);
    cache.put(625, 1917);
    cache.put(153, 566);
    assert.equal(cache.get(1364), null);
    assert.equal(cache.get(106), null);
    cache.put(859, 3269);
    assert.equal(cache.get(519), null);
    cache.put(470, 2801);
    assert.equal(cache.get(367), null);
    cache.put(1031, 2331);
    assert.equal(cache.get(401), 1047);
    cache.put(1378, 2259);
    cache.put(322, 2146);
    assert.equal(cache.get(466), null);
    assert.equal(cache.get(1001), null);
    assert.equal(cache.get(797), 2219);
    assert.equal(cache.get(127), null);
    assert.equal(cache.get(783), null);
    cache.put(116, 3298);
    cache.put(774, 3092);
    cache.put(197, 2429);
    assert.equal(cache.get(712), null);
    cache.put(772, 30);
    assert.equal(cache.get(1078), null);
    assert.equal(cache.get(1281), 2950);
    cache.put(328, 1205);
    assert.equal(cache.get(578), 1199);
    assert.equal(cache.get(1311), null);
    cache.put(793, 1132);
    assert.equal(cache.get(1081), null);
    assert.equal(cache.get(371), null);
    assert.equal(cache.get(1212), null);
    cache.put(304, 2703);
    assert.equal(cache.get(1031), 2331);
    assert.equal(cache.get(332), 1587);
    cache.put(891, 1876);
    cache.put(514, 1963);
    assert.equal(cache.get(1332), null);
    cache.put(854, 353);
    cache.put(1266, 1155);
    assert.equal(cache.get(1289), null);
    cache.put(715, 3161);
    cache.put(610, 2496);
    cache.put(1116, 1135);
    cache.put(343, 2787);
    cache.put(1082, 242);
    cache.put(1150, 2841);
    cache.put(488, 580);
    assert.equal(cache.get(757), null);
    cache.put(565, 1710);
    assert.equal(cache.get(765), null);
    assert.equal(cache.get(483), 2139);
    cache.put(131, 2019);
    cache.put(1216, 2219);
    cache.put(335, 2558);
    cache.put(1065, 151);
    cache.put(302, 1995);
    assert.equal(cache.get(331), null);
    assert.equal(cache.get(1252), 807);
    assert.equal(cache.get(1430), 1843);
    cache.put(108, 2597);
    cache.put(1354, 3152);
    cache.put(598, 1969);
    assert.equal(cache.get(499), 2711);
    cache.put(449, 1242);
    assert.equal(cache.get(886), null);
    cache.put(94, 414);
    cache.put(245, 725);
    assert.equal(cache.get(727), 450);
    cache.put(130, 3019);
    cache.put(1296, 117);
    assert.equal(cache.get(381), null);
    assert.equal(cache.get(956), null);
    cache.put(699, 615);
    assert.equal(cache.get(518), null);
    assert.equal(cache.get(1293), null);
    cache.put(210, 3257);
    cache.put(1374, 635);
    cache.put(966, 2976);
    cache.put(323, 305);
    assert.equal(cache.get(291), null);
    cache.put(833, 1580);
    cache.put(777, 2756);
    cache.put(55, 2040);
    cache.put(1158, 3018);
    cache.put(825, 43);
    assert.equal(cache.get(1050), null);
    cache.put(92, 3242);
    assert.equal(cache.get(372), 2686);
    assert.equal(cache.get(904), null);
    cache.put(947, 2697);
    assert.equal(cache.get(375), null);
    cache.put(137, 1636);
    assert.equal(cache.get(711), 163);
    cache.put(491, 404);
    cache.put(1052, 1186);
    cache.put(578, 1216);
    assert.equal(cache.get(672), null);
    assert.equal(cache.get(1164), null);
    cache.put(423, 3102);
    assert.equal(cache.get(411), null);
    cache.put(1396, 567);
    assert.equal(cache.get(837), 3074);
    cache.put(1216, 1122);
    cache.put(1414, 142);
    assert.equal(cache.get(396), null);
    assert.equal(cache.get(561), null);
    assert.equal(cache.get(1359), 721);
    assert.equal(cache.get(429), null);
    cache.put(603, 1058);
    assert.equal(cache.get(924), null);
    cache.put(39, 1208);
    cache.put(824, 1301);
    assert.equal(cache.get(967), null);
    assert.equal(cache.get(426), 2583);
    cache.put(106, 2897);
    assert.equal(cache.get(148), 2640);
    cache.put(996, 1941);
    cache.put(238, 3231);
    cache.put(982, 2041);
    cache.put(230, 2742);
    assert.equal(cache.get(1398), null);
    cache.put(1117, 1585);
    cache.put(185, 965);
    cache.put(904, 1767);
    cache.put(698, 2147);
    assert.equal(cache.get(672), null);
    cache.put(1272, 3151);
    cache.put(239, 648);
    assert.equal(cache.get(682), 3156);
    cache.put(434, 3259);
    assert.equal(cache.get(796), 1600);
    assert.equal(cache.get(1226), null);
    cache.put(570, 2678);
    assert.equal(cache.get(759), null);
    assert.equal(cache.get(1049), 535);
    assert.equal(cache.get(443), null);
    assert.equal(cache.get(9), 1226);
    cache.put(1207, 449);
    assert.equal(cache.get(847), null);
    cache.put(579, 2924);
    cache.put(1415, 116);
    cache.put(302, 2059);
    cache.put(951, 1429);
    assert.equal(cache.get(373), 2930);
    cache.put(899, 1684);
    cache.put(151, 1325);
    assert.equal(cache.get(1032), null);
    cache.put(1054, 3120);
    cache.put(662, 2060);
    cache.put(179, 1486);
    cache.put(351, 2448);
    assert.equal(cache.get(1405), 669);
    cache.put(1421, 3258);
    assert.equal(cache.get(101), null);
    cache.put(723, 1773);
    cache.put(1105, 236);
    cache.put(292, 3011);
    assert.equal(cache.get(866), null);
    assert.equal(cache.get(662), 2060);
    cache.put(32, 1098);
    cache.put(229, 2868);
    cache.put(321, 2663);
    assert.equal(cache.get(1158), 3018);
    cache.put(1063, 79);
    assert.equal(cache.get(192), null);
    assert.equal(cache.get(722), 268);
    cache.put(122, 624);
    cache.put(716, 1248);
    cache.put(509, 1589);
    cache.put(1253, 2593);
    cache.put(259, 2449);
    assert.equal(cache.get(864), null);
    cache.put(219, 2329);
    cache.put(953, 120);
    assert.equal(cache.get(1284), null);
    cache.put(1067, 3192);
    cache.put(167, 869);
    assert.equal(cache.get(254), null);
    cache.put(898, 227);
    cache.put(317, 1090);
    cache.put(960, 2626);
    assert.equal(cache.get(852), null);
    assert.equal(cache.get(685), null);
    assert.equal(cache.get(1232), 1737);
    cache.put(1427, 1884);
    cache.put(1236, 956);
    cache.put(727, 2832);
    assert.equal(cache.get(344), null);
    assert.equal(cache.get(1011), null);
    assert.equal(cache.get(210), 3257);
    cache.put(1318, 3166);
    cache.put(1215, 292);
    assert.equal(cache.get(959), 1555);
    assert.equal(cache.get(375), null);
    cache.put(881, 2073);
    assert.equal(cache.get(409), 1288);
    cache.put(371, 2640);
    assert.equal(cache.get(791), 3092);
    cache.put(720, 359);
    cache.put(1071, 1467);
    cache.put(287, 697);
    cache.put(900, 629);
    cache.put(1292, 2802);
    assert.equal(cache.get(23), null);
    assert.equal(cache.get(946), null);
    cache.put(311, 3019);
    assert.equal(cache.get(1107), 2957);
    cache.put(679, 518);
    cache.put(1364, 2849);
    assert.equal(cache.get(1354), 3152);
    assert.equal(cache.get(1033), 725);
    cache.put(1070, 1508);
    assert.equal(cache.get(1228), null);
    cache.put(945, 1121);
    cache.put(1018, 2529);
    cache.put(934, 67);
    cache.put(1243, 336);
    assert.equal(cache.get(268), null);
    assert.equal(cache.get(557), 305);
    cache.put(1294, 2830);
    assert.equal(cache.get(112), 2658);
    cache.put(1288, 2965);
    cache.put(234, 1295);
    cache.put(1422, 315);
    cache.put(1148, 1372);
    cache.put(1426, 178);
    assert.equal(cache.get(171), null);
    assert.equal(cache.get(881), 2073);
    cache.put(1317, 3291);
    assert.equal(cache.get(1324), null);
    cache.put(57, 2681);
    cache.put(1098, 1345);
    cache.put(70, 237);
    cache.put(994, 2574);
    cache.put(643, 1783);
    assert.equal(cache.get(438), null);
    cache.put(1418, 2766);
    assert.equal(cache.get(1045), 2309);
    cache.put(152, 851);
    cache.put(739, 878);
    cache.put(103, 3055);
    assert.equal(cache.get(1135), 2295);
    assert.equal(cache.get(912), null);
    cache.put(231, 3222);
    cache.put(1234, 2613);
    cache.put(202, 1365);
    cache.put(192, 1889);
    assert.equal(cache.get(439), null);
    cache.put(215, 3150);
    assert.equal(cache.get(769), null);
    assert.equal(cache.get(1212), null);
    assert.equal(cache.get(620), null);
    cache.put(247, 45);
    assert.equal(cache.get(426), 2583);
    cache.put(1430, 287);
    cache.put(941, 1787);
    assert.equal(cache.get(406), 236);
    assert.equal(cache.get(308), null);
    assert.equal(cache.get(914), null);
    cache.put(804, 2245);
    assert.equal(cache.get(706), null);
    assert.equal(cache.get(635), null);
    cache.put(1231, 1755);
    cache.put(896, 495);
    cache.put(48, 1808);
    cache.put(838, 841);
    cache.put(493, 3260);
    cache.put(300, 1442);
    assert.equal(cache.get(769), null);
    cache.put(1295, 2107);
    cache.put(1263, 135);
    assert.equal(cache.get(193), null);
    cache.put(880, 2171);
    cache.put(934, 2914);
    cache.put(333, 2158);
    assert.equal(cache.get(1074), null);
    assert.equal(cache.get(16), null);
    assert.equal(cache.get(185), 965);
    assert.equal(cache.get(1183), null);
    assert.equal(cache.get(501), 1231);
    cache.put(1257, 2292);
    cache.put(830, 1588);
    cache.put(354, 2220);
    assert.equal(cache.get(1044), 516);
    cache.put(1031, 310);
    assert.equal(cache.get(81), 2229);
    cache.put(1165, 868);
    cache.put(1427, 2523);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(828), null);
    cache.put(1229, 1506);
    cache.put(160, 928);
    assert.equal(cache.get(829), null);
    assert.equal(cache.get(446), 1274);
    cache.put(749, 1895);
    cache.put(1170, 2944);
    assert.equal(cache.get(1410), null);
    assert.equal(cache.get(985), null);
    cache.put(1400, 2337);
    assert.equal(cache.get(36), 924);
    assert.equal(cache.get(328), 1205);
    cache.put(453, 1433);
    cache.put(1379, 2967);
    cache.put(352, 1395);
    cache.put(961, 2980);
    assert.equal(cache.get(862), 3199);
    assert.equal(cache.get(1077), 1030);
    cache.put(385, 557);
    cache.put(431, 2976);
    cache.put(297, 2757);
    assert.equal(cache.get(562), 420);
    cache.put(1222, 3180);
    assert.equal(cache.get(9), 1226);
    cache.put(922, 2376);
    cache.put(648, 198);
    cache.put(989, 425);
    cache.put(1172, 3294);
    cache.put(117, 620);
    cache.put(810, 1100);
    assert.equal(cache.get(284), null);
    assert.equal(cache.get(19), null);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(1297), null);
    assert.equal(cache.get(842), null);
    assert.equal(cache.get(1097), null);
    assert.equal(cache.get(48), 1808);
    cache.put(1280, 3214);
    cache.put(747, 3117);
    cache.put(1050, 820);
    assert.equal(cache.get(1371), null);
    assert.equal(cache.get(145), 62);
    assert.equal(cache.get(267), 778);
    assert.equal(cache.get(297), 2757);
    cache.put(52, 3099);
    cache.put(351, 2801);
    cache.put(1, 2315);
    cache.put(821, 3085);
    assert.equal(cache.get(1037), null);
    assert.equal(cache.get(806), 2123);
    assert.equal(cache.get(843), 2042);
    assert.equal(cache.get(1115), null);
    cache.put(438, 287);
    assert.equal(cache.get(1031), 310);
    cache.put(293, 1830);
    cache.put(743, 1326);
    cache.put(284, 1470);
    cache.put(855, 1957);
    assert.equal(cache.get(995), 2725);
    assert.equal(cache.get(836), null);
    cache.put(983, 613);
    assert.equal(cache.get(1238), 893);
    assert.equal(cache.get(22), null);
    assert.equal(cache.get(906), null);
    assert.equal(cache.get(751), null);
    assert.equal(cache.get(564), null);
    assert.equal(cache.get(382), null);
    cache.put(969, 811);
    assert.equal(cache.get(227), null);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(1109), 1251);
    cache.put(685, 1109);
    cache.put(569, 3032);
    cache.put(865, 1439);
    cache.put(374, 2481);
    cache.put(193, 1601);
    cache.put(917, 2884);
    assert.equal(cache.get(712), null);
    cache.put(91, 3081);
    cache.put(571, 2782);
    assert.equal(cache.get(717), 3021);
    cache.put(808, 2719);
    cache.put(679, 2043);
    assert.equal(cache.get(814), null);
    cache.put(937, 2789);
    cache.put(1063, 890);
    cache.put(830, 22);
    cache.put(941, 677);
    cache.put(354, 1267);
    cache.put(610, 2252);
    cache.put(1166, 1062);
    assert.equal(cache.get(1108), 2917);
    assert.equal(cache.get(684), 2115);
    cache.put(1341, 1531);
    cache.put(457, 1670);
    assert.equal(cache.get(54), null);
    cache.put(440, 39);
    cache.put(609, 1403);
    assert.equal(cache.get(481), 1448);
    assert.equal(cache.get(1318), 3166);
    assert.equal(cache.get(1216), 1122);
    cache.put(1364, 2810);
    cache.put(681, 1709);
    cache.put(1203, 2318);
    cache.put(724, 287);
    assert.equal(cache.get(630), null);
    cache.put(701, 557);
    cache.put(390, 2721);
    assert.equal(cache.get(1048), null);
    assert.equal(cache.get(201), null);
    cache.put(1216, 3123);
    cache.put(451, 1396);
    assert.equal(cache.get(212), 1905);
    cache.put(424, 2904);
    cache.put(998, 743);
    cache.put(441, 3297);
    cache.put(206, 1546);
    assert.equal(cache.get(1415), 116);
    cache.put(1019, 1689);
    assert.equal(cache.get(76), 3021);
    cache.put(978, 1827);
    cache.put(1220, 1505);
    assert.equal(cache.get(756), null);
    assert.equal(cache.get(990), null);
    cache.put(157, 2315);
    cache.put(1299, 3205);
    assert.equal(cache.get(1127), null);
    cache.put(449, 313);
    cache.put(349, 712);
    assert.equal(cache.get(915), null);
    cache.put(718, 2310);
    cache.put(4, 1878);
    cache.put(614, 255);
    assert.equal(cache.get(566), 1741);
    cache.put(1074, 2311);
    cache.put(687, 756);
    cache.put(571, 961);
    cache.put(148, 3123);
    assert.equal(cache.get(1262), null);
    assert.equal(cache.get(1018), 2529);
    cache.put(372, 1175);
    cache.put(646, 1231);
    assert.equal(cache.get(98), null);
    cache.put(399, 748);
    cache.put(1395, 1053);
    assert.equal(cache.get(40), null);
    cache.put(1169, 2871);
    cache.put(1203, 3126);
    cache.put(781, 1104);
    assert.equal(cache.get(153), 566);
    cache.put(681, 3198);
    assert.equal(cache.get(697), 546);
    cache.put(456, 571);
    cache.put(759, 1269);
    cache.put(745, 2918);
    assert.equal(cache.get(697), 546);
    cache.put(1332, 741);
    cache.put(943, 1623);
    cache.put(244, 1295);
    assert.equal(cache.get(631), null);
    assert.equal(cache.get(462), null);
    cache.put(869, 763);
    assert.equal(cache.get(399), 748);
    cache.put(1172, 2092);
    cache.put(745, 1702);
    assert.equal(cache.get(561), null);
    assert.equal(cache.get(753), 610);
    cache.put(603, 2094);
    cache.put(914, 780);
    cache.put(1128, 318);
    assert.equal(cache.get(216), 2546);
    cache.put(556, 315);
    cache.put(808, 85);
    assert.equal(cache.get(204), null);
    cache.put(876, 215);
    cache.put(1, 2648);
    assert.equal(cache.get(24), null);
    cache.put(886, 936);
    assert.equal(cache.get(1028), null);
    cache.put(969, 2636);
    cache.put(1318, 3057);
    cache.put(240, 3303);
    cache.put(1085, 514);
    cache.put(250, 1965);
    cache.put(151, 491);
    cache.put(1328, 1619);
    cache.put(1056, 410);
    assert.equal(cache.get(937), 2789);
    assert.equal(cache.get(912), null);
    assert.equal(cache.get(1152), null);
    cache.put(928, 262);
    cache.put(924, 2517);
    cache.put(943, 2894);
    cache.put(253, 2341);
    cache.put(232, 2317);
    cache.put(1056, 274);
    assert.equal(cache.get(637), 1786);
    assert.equal(cache.get(1379), 2967);
    cache.put(147, 1956);
    assert.equal(cache.get(1189), null);
    cache.put(935, 1185);
    assert.equal(cache.get(192), 1889);
    cache.put(383, 838);
    assert.equal(cache.get(1008), null);
    cache.put(441, 888);
    assert.equal(cache.get(771), null);
    assert.equal(cache.get(71), null);
    cache.put(112, 3274);
    assert.equal(cache.get(157), 2315);
    cache.put(1229, 3125);
    cache.put(180, 3081);
    cache.put(349, 1526);
    cache.put(1313, 366);
    assert.equal(cache.get(327), 3087);
    cache.put(154, 1219);
    assert.equal(cache.get(1073), 351);
    assert.equal(cache.get(740), null);
    cache.put(1323, 3300);
    cache.put(979, 2792);
    assert.equal(cache.get(344), null);
    cache.put(1055, 2906);
    assert.equal(cache.get(160), 928);
    cache.put(327, 853);
    cache.put(425, 2461);
    cache.put(688, 1342);
    cache.put(827, 38);
    cache.put(1130, 3057);
    cache.put(1360, 1786);
    assert.equal(cache.get(829), null);
    assert.equal(cache.get(1173), null);
    assert.equal(cache.get(462), null);
    assert.equal(cache.get(660), null);
    cache.put(439, 1631);
    assert.equal(cache.get(569), 3032);
    cache.put(1379, 3115);
    assert.equal(cache.get(868), 2803);
    cache.put(467, 1621);
    assert.equal(cache.get(1287), null);
    assert.equal(cache.get(1375), 1591);
    cache.put(897, 33);
    cache.put(1313, 1869);
    assert.equal(cache.get(212), 1905);
    cache.put(296, 339);
    assert.equal(cache.get(596), null);
    cache.put(731, 3135);
    assert.equal(cache.get(1267), null);
    assert.equal(cache.get(62), null);
    assert.equal(cache.get(147), 1956);
    cache.put(353, 1572);
    cache.put(1372, 2067);
    cache.put(1403, 1312);
    assert.equal(cache.get(1110), 2231);
    assert.equal(cache.get(40), null);
    assert.equal(cache.get(455), null);
    cache.put(852, 489);
    cache.put(1179, 1832);
    assert.equal(cache.get(201), null);
    cache.put(201, 661);
    assert.equal(cache.get(1077), 1030);
    cache.put(1096, 637);
    assert.equal(cache.get(469), 2219);
    assert.equal(cache.get(323), 305);
    assert.equal(cache.get(565), 1710);
    cache.put(223, 660);
    assert.equal(cache.get(1376), null);
    cache.put(380, 1141);
    cache.put(62, 2547);
    assert.equal(cache.get(1052), 1186);
    cache.put(316, 830);
    cache.put(474, 1474);
    assert.equal(cache.get(475), null);
    cache.put(424, 1502);
    cache.put(596, 2777);
    cache.put(820, 2875);
    assert.equal(cache.get(995), 2725);
    assert.equal(cache.get(725), null);
    cache.put(865, 1719);
    cache.put(1081, 1263);
    cache.put(859, 3191);
    assert.equal(cache.get(632), null);
    assert.equal(cache.get(1205), null);
    assert.equal(cache.get(420), null);
    assert.equal(cache.get(933), null);
    cache.put(921, 2603);
    assert.equal(cache.get(1167), null);
    cache.put(647, 180);
    assert.equal(cache.get(744), null);
    cache.put(14, 532);
    cache.put(1079, 294);
    cache.put(1275, 917);
    cache.put(1145, 1309);
    cache.put(126, 1011);
    assert.equal(cache.get(1201), null);
    assert.equal(cache.get(682), 3156);
    assert.equal(cache.get(1408), null);
    cache.put(101, 1192);
    cache.put(1391, 1133);
    cache.put(751, 312);
    cache.put(344, 1634);
    cache.put(882, 477);
    cache.put(1106, 503);
    cache.put(273, 766);
    cache.put(1364, 520);
    cache.put(1042, 2915);
    cache.put(350, 2488);
    cache.put(457, 624);
    cache.put(320, 297);
    assert.equal(cache.get(276), null);
    assert.equal(cache.get(48), 1808);
    cache.put(1396, 2209);
    assert.equal(cache.get(615), null);
    assert.equal(cache.get(1246), 2932);
    assert.equal(cache.get(1422), 315);
    assert.equal(cache.get(306), null);
    assert.equal(cache.get(1349), null);
    assert.equal(cache.get(1073), 351);
    assert.equal(cache.get(387), 1946);
    cache.put(1295, 2616);
    cache.put(346, 2034);
    assert.equal(cache.get(573), null);
    cache.put(956, 588);
    cache.put(1264, 342);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(375), null);
    assert.equal(cache.get(967), null);
    assert.equal(cache.get(1090), null);
    assert.equal(cache.get(1241), 2596);
    cache.put(1313, 3044);
    assert.equal(cache.get(1174), null);
    assert.equal(cache.get(276), null);
    assert.equal(cache.get(298), null);
    cache.put(1160, 1625);
    cache.put(1000, 2617);
    cache.put(1318, 380);
    cache.put(566, 949);
    assert.equal(cache.get(362), 1730);
    cache.put(1290, 1723);
    cache.put(412, 1576);
    cache.put(1115, 1568);
    cache.put(584, 1421);
    cache.put(1049, 2800);
    cache.put(1014, 1669);
    assert.equal(cache.get(1292), 2802);
    cache.put(1096, 1910);
    assert.equal(cache.get(1250), 1778);
    assert.equal(cache.get(1193), null);
    cache.put(1222, 456);
    cache.put(1116, 460);
    cache.put(146, 2143);
    assert.equal(cache.get(227), null);
    assert.equal(cache.get(942), 3238);
    cache.put(1148, 3258);
    cache.put(1313, 1611);
    cache.put(1427, 843);
    assert.equal(cache.get(1073), 351);
    assert.equal(cache.get(801), null);
    assert.equal(cache.get(136), null);
    cache.put(297, 2671);
    cache.put(69, 425);
    cache.put(596, 3138);
    cache.put(610, 3261);
    assert.equal(cache.get(319), null);
    cache.put(714, 2782);
    assert.equal(cache.get(1179), 1832);
    assert.equal(cache.get(43), 1452);
    cache.put(105, 41);
    cache.put(203, 2185);
    cache.put(1266, 744);
    cache.put(1419, 1120);
    assert.equal(cache.get(1376), null);
    cache.put(1345, 3149);
    cache.put(1371, 2184);
    cache.put(1188, 1949);
    assert.equal(cache.get(615), null);
    cache.put(252, 3080);
    cache.put(837, 2152);
    cache.put(798, 1487);
    cache.put(481, 2329);
    assert.equal(cache.get(257), 918);
    assert.equal(cache.get(846), 1402);
    assert.equal(cache.get(1037), null);
    cache.put(1099, 3086);
    assert.equal(cache.get(821), 3085);
    cache.put(676, 913);
    cache.put(1131, 1443);
    cache.put(345, 1397);
    assert.equal(cache.get(483), 2139);
    cache.put(1, 983);
    assert.equal(cache.get(578), 1216);
    cache.put(431, 623);
    cache.put(994, 491);
    assert.equal(cache.get(247), 45);
    assert.equal(cache.get(462), null);
    cache.put(1174, 198);
    cache.put(774, 2476);
    cache.put(518, 3065);
    cache.put(1322, 286);
    assert.equal(cache.get(831), null);
    assert.equal(cache.get(171), null);
    assert.equal(cache.get(477), 906);
    cache.put(457, 1204);
    assert.equal(cache.get(223), 660);
    assert.equal(cache.get(295), 532);
    assert.equal(cache.get(459), null);
    cache.put(433, 2232);
    cache.put(257, 3152);
    cache.put(80, 24);
    assert.equal(cache.get(596), 3138);
    assert.equal(cache.get(853), null);
    assert.equal(cache.get(423), 3102);
    cache.put(963, 1770);
    cache.put(801, 1217);
    cache.put(1274, 1458);
    cache.put(1355, 3183);
    cache.put(425, 1193);
    assert.equal(cache.get(966), 2976);
    cache.put(270, 421);
    cache.put(856, 3140);
    cache.put(44, 2670);
    cache.put(1407, 540);
    assert.equal(cache.get(987), 901);
    assert.equal(cache.get(474), 1474);
    cache.put(1050, 1633);
    cache.put(46, 627);
    assert.equal(cache.get(768), 253);
    cache.put(1209, 2646);
    assert.equal(cache.get(135), 2872);
    cache.put(1340, 2354);
    cache.put(916, 1111);
    cache.put(1146, 2925);
    cache.put(286, 870);
    assert.equal(cache.get(28), null);
    cache.put(1225, 1600);
    cache.put(606, 1300);
    assert.equal(cache.get(231), 3222);
    assert.equal(cache.get(843), 2042);
    cache.put(156, 2982);
    cache.put(1124, 952);
    cache.put(218, 668);
    cache.put(1019, 708);
    cache.put(1204, 811);
    assert.equal(cache.get(503), null);
    assert.equal(cache.get(1102), null);
    assert.equal(cache.get(904), 1767);
    cache.put(640, 2250);
    assert.equal(cache.get(1333), 932);
    assert.equal(cache.get(715), 3161);
    cache.put(346, 70);
    cache.put(971, 1787);
    cache.put(1243, 1097);
    cache.put(684, 1868);
    assert.equal(cache.get(1187), 449);
    cache.put(1160, 2168);
    cache.put(1311, 2264);
    cache.put(798, 1254);
    cache.put(1150, 867);
    assert.equal(cache.get(976), 1828);
    cache.put(329, 1136);
    cache.put(468, 1505);
    cache.put(639, 1122);
    cache.put(1294, 280);
    cache.put(693, 1889);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(417), null);
    cache.put(902, 1435);
    assert.equal(cache.get(21), 639);
    cache.put(791, 2737);
    assert.equal(cache.get(1206), 639);
    cache.put(1338, 3219);
    assert.equal(cache.get(832), 1350);
    assert.equal(cache.get(493), 3260);
    cache.put(615, 1020);
    assert.equal(cache.get(1084), 652);
    assert.equal(cache.get(636), null);
    assert.equal(cache.get(598), 1969);
    assert.equal(cache.get(239), 648);
    cache.put(587, 2917);
    cache.put(1221, 1831);
    cache.put(877, 1289);
    cache.put(518, 2225);
    assert.equal(cache.get(1096), 1910);
    assert.equal(cache.get(823), null);
    assert.equal(cache.get(819), null);
    cache.put(579, 1091);
    assert.equal(cache.get(491), 404);
    assert.equal(cache.get(276), null);
    cache.put(743, 413);
    cache.put(1279, 1208);
    assert.equal(cache.get(921), 2603);
    cache.put(499, 359);
    assert.equal(cache.get(22), null);
    assert.equal(cache.get(811), null);
    assert.equal(cache.get(887), 2855);
    cache.put(382, 103);
    assert.equal(cache.get(549), null);
    cache.put(33, 14);
    assert.equal(cache.get(752), null);
    cache.put(1090, 2345);
    cache.put(1193, 2191);
    assert.equal(cache.get(680), null);
    assert.equal(cache.get(1170), 2944);
    cache.put(715, 1226);
    cache.put(596, 675);
    cache.put(831, 984);
    cache.put(525, 2406);
    cache.put(775, 741);
    cache.put(215, 1349);
    assert.equal(cache.get(863), 1497);
    assert.equal(cache.get(603), 2094);
    cache.put(389, 2046);
    assert.equal(cache.get(904), 1767);
    cache.put(103, 1098);
    assert.equal(cache.get(1293), null);
    assert.equal(cache.get(1360), 1786);
    cache.put(442, 2737);
    cache.put(936, 53);
    cache.put(638, 1121);
    cache.put(638, 2036);
    cache.put(903, 2528);
    cache.put(817, 2991);
    cache.put(1413, 1776);
    assert.equal(cache.get(983), 613);
    cache.put(1414, 810);
    cache.put(550, 2210);
    assert.equal(cache.get(1083), null);
    cache.put(363, 1200);
    cache.put(970, 113);
    cache.put(91, 2456);
    cache.put(639, 173);
    cache.put(1243, 1479);
    cache.put(1137, 1);
    assert.equal(cache.get(484), null);
    cache.put(781, 1874);
    cache.put(209, 655);
    assert.equal(cache.get(126), 1011);
    assert.equal(cache.get(193), 1601);
    assert.equal(cache.get(123), null);
    cache.put(274, 2361);
    assert.equal(cache.get(1093), 1349);
    cache.put(946, 183);
    cache.put(246, 2755);
    assert.equal(cache.get(418), 2039);
    cache.put(317, 2405);
    assert.equal(cache.get(1103), 271);
    assert.equal(cache.get(576), null);
    cache.put(688, 3285);
    assert.equal(cache.get(881), 2073);
    assert.equal(cache.get(345), 1397);
    cache.put(541, 2885);
    cache.put(90, 2730);
    cache.put(1429, 2360);
    assert.equal(cache.get(14), 532);
    assert.equal(cache.get(403), null);
    assert.equal(cache.get(260), null);
    cache.put(641, 1069);
    cache.put(457, 158);
    assert.equal(cache.get(930), null);
    assert.equal(cache.get(609), 1403);
    cache.put(751, 2159);
    assert.equal(cache.get(679), 2043);
    cache.put(492, 1111);
    cache.put(583, 2598);
    assert.equal(cache.get(149), 1725);
    cache.put(1314, 212);
    assert.equal(cache.get(277), null);
    cache.put(1372, 1675);
    cache.put(662, 1961);
    cache.put(1147, 2900);
    cache.put(280, 2872);
    cache.put(152, 2462);
    cache.put(845, 403);
    cache.put(633, 1583);
    cache.put(341, 2912);
    cache.put(995, 3227);
    cache.put(217, 2074);
    assert.equal(cache.get(1351), null);
    cache.put(1407, 796);
    assert.equal(cache.get(997), null);
    assert.equal(cache.get(392), null);
    assert.equal(cache.get(1324), null);
    cache.put(200, 797);
    assert.equal(cache.get(668), null);
    cache.put(712, 757);
    cache.put(1183, 584);
    assert.equal(cache.get(1033), 725);
    cache.put(921, 1094);
    cache.put(73, 2459);
    cache.put(722, 1249);
    cache.put(1310, 321);
    cache.put(125, 2712);
    assert.equal(cache.get(328), 1205);
    assert.equal(cache.get(869), 763);
    cache.put(339, 1536);
    assert.equal(cache.get(659), null);
    assert.equal(cache.get(1008), null);
    assert.equal(cache.get(1273), null);
    assert.equal(cache.get(1107), 2957);
    assert.equal(cache.get(285), 2332);
    cache.put(100, 1903);
    cache.put(194, 1077);
    cache.put(684, 1699);
    cache.put(331, 1076);
    assert.equal(cache.get(432), null);
    cache.put(1018, 2840);
    cache.put(1098, 170);
    cache.put(602, 700);
    cache.put(256, 1572);
    assert.equal(cache.get(1003), null);
    cache.put(785, 65);
    cache.put(493, 764);
    assert.equal(cache.get(298), null);
    assert.equal(cache.get(263), null);
    cache.put(353, 3159);
    cache.put(1101, 46);
    assert.equal(cache.get(382), 103);
    assert.equal(cache.get(566), 949);
    cache.put(59, 502);
    cache.put(1099, 687);
    cache.put(251, 2039);
    cache.put(647, 2041);
    assert.equal(cache.get(1238), 893);
    cache.put(873, 1185);
    assert.equal(cache.get(643), 1783);
    cache.put(303, 1871);
    cache.put(85, 3111);
    assert.equal(cache.get(37), null);
    cache.put(217, 2369);
    assert.equal(cache.get(309), 1652);
    cache.put(364, 1660);
    cache.put(1047, 2536);
    assert.equal(cache.get(363), 1200);
    cache.put(1170, 1179);
    cache.put(1231, 138);
    assert.equal(cache.get(1214), null);
    assert.equal(cache.get(1212), null);
    assert.equal(cache.get(75), null);
    cache.put(1355, 1758);
    assert.equal(cache.get(1074), 2311);
    cache.put(460, 1717);
    cache.put(67, 1579);
    cache.put(881, 1866);
    assert.equal(cache.get(195), null);
    assert.equal(cache.get(693), 1889);
    cache.put(917, 2357);
    cache.put(735, 1730);
    assert.equal(cache.get(86), 3012);
    cache.put(1143, 106);
    cache.put(899, 699);
    cache.put(670, 2516);
    assert.equal(cache.get(598), 1969);
    assert.equal(cache.get(436), null);
    cache.put(90, 605);
    assert.equal(cache.get(703), 677);
    cache.put(596, 71);
    assert.equal(cache.get(481), 2329);
    assert.equal(cache.get(540), 1800);
    cache.put(326, 2291);
    assert.equal(cache.get(259), 2449);
    cache.put(271, 363);
    assert.equal(cache.get(678), 1850);
    cache.put(1235, 243);
    assert.equal(cache.get(1317), 3291);
    cache.put(49, 279);
    assert.equal(cache.get(132), null);
    assert.equal(cache.get(1225), 1600);
    assert.equal(cache.get(1202), null);
    assert.equal(cache.get(126), 1011);
    cache.put(875, 575);
    cache.put(979, 1051);
    assert.equal(cache.get(1352), null);
    cache.put(905, 977);
    cache.put(767, 3172);
    cache.put(423, 1514);
    assert.equal(cache.get(974), null);
    cache.put(35, 1908);
    assert.equal(cache.get(1105), 236);
    assert.equal(cache.get(1408), null);
    assert.equal(cache.get(361), null);
    cache.put(316, 528);
    assert.equal(cache.get(30), null);
    cache.put(1041, 2521);
    assert.equal(cache.get(839), null);
    cache.put(225, 3017);
    assert.equal(cache.get(498), null);
    assert.equal(cache.get(1178), null);
    assert.equal(cache.get(701), 557);
    cache.put(983, 1450);
    cache.put(480, 1890);
    cache.put(95, 439);
    assert.equal(cache.get(219), 2329);
    cache.put(872, 2965);
    assert.equal(cache.get(1092), 3132);
    assert.equal(cache.get(620), null);
    cache.put(1352, 308);
    cache.put(283, 2578);
    cache.put(500, 3097);
    cache.put(881, 2788);
    assert.equal(cache.get(1261), null);
    assert.equal(cache.get(637), 1786);
    cache.put(1320, 459);
    cache.put(267, 1599);
    assert.equal(cache.get(295), 532);
    assert.equal(cache.get(682), 3156);
    cache.put(610, 1715);
    cache.put(380, 3142);
    cache.put(339, 131);
    cache.put(437, 1558);
    cache.put(1301, 2333);
    cache.put(524, 1538);
    cache.put(348, 3154);
    cache.put(1132, 2264);
    cache.put(901, 881);
    cache.put(832, 891);
    assert.equal(cache.get(776), 2299);
    assert.equal(cache.get(605), null);
    assert.equal(cache.get(452), null);
    assert.equal(cache.get(514), 1963);
    assert.equal(cache.get(754), 876);
    assert.equal(cache.get(138), null);
    assert.equal(cache.get(1157), null);
    assert.equal(cache.get(1130), 3057);
    cache.put(223, 2461);
    cache.put(1371, 2692);
    cache.put(94, 3115);
    cache.put(194, 2010);
    cache.put(574, 3233);
    cache.put(1297, 321);
    cache.put(1345, 686);
    cache.put(1282, 711);
    assert.equal(cache.get(1318), 380);
    assert.equal(cache.get(360), null);
    assert.equal(cache.get(712), 757);
    assert.equal(cache.get(215), 1349);
    cache.put(755, 2882);
    assert.equal(cache.get(547), 2502);
    cache.put(551, 258);
    cache.put(698, 1986);
    assert.equal(cache.get(1400), 2337);
    cache.put(119, 3278);
    assert.equal(cache.get(51), null);
    cache.put(43, 2488);
    assert.equal(cache.get(1137), 1);
    cache.put(1005, 1675);
    cache.put(780, 1745);
    assert.equal(cache.get(357), null);
    cache.put(791, 1793);
    assert.equal(cache.get(521), null);
    cache.put(1406, 1387);
    cache.put(1380, 1171);
    cache.put(1119, 1435);
    cache.put(735, 942);
    assert.equal(cache.get(660), null);
    cache.put(1008, 1768);
    cache.put(519, 3247);
    assert.equal(cache.get(1272), 3151);
    assert.equal(cache.get(483), 2139);
    assert.equal(cache.get(1088), null);
    cache.put(1402, 1816);
    cache.put(1324, 2575);
    cache.put(254, 907);
    cache.put(565, 1539);
    cache.put(973, 1991);
    assert.equal(cache.get(1002), null);
    cache.put(1032, 2741);
    assert.equal(cache.get(1093), 1349);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(165), null);
    cache.put(635, 859);
    cache.put(1143, 1208);
    cache.put(891, 1505);
    cache.put(1274, 2164);
    assert.equal(cache.get(359), null);
    cache.put(865, 2837);
    assert.equal(cache.get(530), null);
    cache.put(809, 2360);
    assert.equal(cache.get(1243), 1479);
    assert.equal(cache.get(540), 1800);
    assert.equal(cache.get(315), null);
    assert.equal(cache.get(597), null);
    assert.equal(cache.get(933), null);
    assert.equal(cache.get(234), 1295);
    cache.put(598, 1975);
    assert.equal(cache.get(1122), 1839);
    cache.put(1046, 2920);
    cache.put(1205, 2073);
    assert.equal(cache.get(1022), null);
    assert.equal(cache.get(1099), 687);
    assert.equal(cache.get(1069), 1977);
    cache.put(307, 747);
    assert.equal(cache.get(296), 339);
    assert.equal(cache.get(117), 620);
    cache.put(785, 417);
    assert.equal(cache.get(570), 2678);
    cache.put(548, 2457);
    assert.equal(cache.get(340), 1395);
    cache.put(588, 3097);
    cache.put(1159, 192);
    cache.put(809, 2890);
    cache.put(205, 300);
    cache.put(526, 3087);
    cache.put(1287, 439);
    cache.put(1368, 649);
    assert.equal(cache.get(902), 1435);
    cache.put(1349, 611);
    assert.equal(cache.get(314), null);
    cache.put(205, 1659);
    assert.equal(cache.get(1168), 1501);
    cache.put(551, 318);
    cache.put(964, 527);
    cache.put(185, 2930);
    cache.put(803, 458);
    assert.equal(cache.get(1148), 3258);
    cache.put(792, 1445);
    assert.equal(cache.get(1341), 1531);
    cache.put(1342, 1808);
    cache.put(1005, 2129);
    cache.put(509, 3109);
    assert.equal(cache.get(892), 1914);
    cache.put(569, 1164);
    assert.equal(cache.get(773), null);
    cache.put(1096, 2811);
    cache.put(1214, 775);
    assert.equal(cache.get(1379), 3115);
    assert.equal(cache.get(1369), null);
    cache.put(569, 2101);
    assert.equal(cache.get(93), null);
    cache.put(1192, 473);
    cache.put(1096, 3082);
    cache.put(1270, 730);
    cache.put(711, 1887);
    cache.put(136, 94);
    assert.equal(cache.get(739), 878);
    cache.put(663, 1951);
    cache.put(54, 994);
    cache.put(1018, 106);
    assert.equal(cache.get(866), null);
    cache.put(785, 2763);
    cache.put(1160, 1210);
    assert.equal(cache.get(747), 3117);
    cache.put(278, 174);
    assert.equal(cache.get(281), null);
    assert.equal(cache.get(583), 2598);
    cache.put(582, 2377);
    assert.equal(cache.get(911), null);
    cache.put(216, 3083);
    assert.equal(cache.get(921), 1094);
    cache.put(1065, 949);
    assert.equal(cache.get(71), null);
    cache.put(506, 1263);
    cache.put(1261, 3150);
    assert.equal(cache.get(597), null);
    cache.put(1420, 1655);
    assert.equal(cache.get(1151), 2538);
    assert.equal(cache.get(730), null);
    cache.put(218, 2224);
    cache.put(302, 3132);
    assert.equal(cache.get(1122), 1839);
    cache.put(894, 340);
    assert.equal(cache.get(39), 1208);
    cache.put(1117, 1967);
    assert.equal(cache.get(239), 648);
    assert.equal(cache.get(1226), null);
    cache.put(1244, 97);
    cache.put(212, 3038);
    cache.put(1249, 761);
    cache.put(1349, 122);
    assert.equal(cache.get(416), 1931);
    cache.put(194, 1728);
    cache.put(1203, 277);
    cache.put(172, 1738);
    cache.put(1055, 579);
    cache.put(418, 469);
    assert.equal(cache.get(27), null);
    cache.put(1094, 854);
    assert.equal(cache.get(1395), 1053);
    assert.equal(cache.get(586), null);
    cache.put(827, 185);
    cache.put(631, 274);
    assert.equal(cache.get(1005), 2129);
    cache.put(1089, 3125);
    assert.equal(cache.get(113), null);
    assert.equal(cache.get(1330), null);
    assert.equal(cache.get(1322), 286);
    cache.put(1053, 1116);
    cache.put(330, 1365);
    assert.equal(cache.get(1337), 2359);
    assert.equal(cache.get(441), 888);
    assert.equal(cache.get(362), 1730);
    cache.put(576, 2992);
    assert.equal(cache.get(574), 3233);
    cache.put(1383, 170);
    assert.equal(cache.get(188), 2477);
    cache.put(921, 1307);
    assert.equal(cache.get(1011), null);
    assert.equal(cache.get(823), null);
    cache.put(1049, 2005);
    assert.equal(cache.get(323), 305);
    cache.put(616, 786);
    assert.equal(cache.get(410), null);
    cache.put(1058, 82);
    cache.put(1110, 2504);
    cache.put(1026, 1571);
    assert.equal(cache.get(296), 339);
    assert.equal(cache.get(602), 700);
    assert.equal(cache.get(331), 1076);
    assert.equal(cache.get(91), 2456);
    assert.equal(cache.get(373), 2930);
    cache.put(772, 1918);
    cache.put(861, 796);
    cache.put(661, 2324);
    assert.equal(cache.get(656), null);
    assert.equal(cache.get(1301), 2333);
    cache.put(1341, 1860);
    assert.equal(cache.get(101), 1192);
    cache.put(1316, 90);
    assert.equal(cache.get(1325), null);
    cache.put(167, 1419);
    cache.put(1095, 414);
    cache.put(793, 2214);
    cache.put(1418, 1932);
    assert.equal(cache.get(833), 1580);
    assert.equal(cache.get(1356), null);
    assert.equal(cache.get(992), null);
    assert.equal(cache.get(1218), null);
    assert.equal(cache.get(336), null);
    cache.put(1055, 2996);
    cache.put(708, 625);
    assert.equal(cache.get(690), 463);
    assert.equal(cache.get(954), 2280);
    assert.equal(cache.get(157), 2315);
    assert.equal(cache.get(112), 3274);
    assert.equal(cache.get(47), 3169);
    cache.put(1170, 3128);
    cache.put(659, 917);
    assert.equal(cache.get(1366), 2980);
    cache.put(215, 181);
    cache.put(1003, 1168);
    assert.equal(cache.get(1223), null);
    cache.put(963, 1269);
    assert.equal(cache.get(161), null);
    cache.put(1085, 2947);
    assert.equal(cache.get(320), 297);
    assert.equal(cache.get(170), null);
    cache.put(1048, 944);
    cache.put(1102, 820);
    assert.equal(cache.get(1244), 97);
    cache.put(152, 384);
    cache.put(1063, 2370);
    cache.put(1388, 2312);
    assert.equal(cache.get(968), null);
    assert.equal(cache.get(1102), 820);
    cache.put(363, 207);
    cache.put(865, 1930);
    assert.equal(cache.get(1205), 2073);
    assert.equal(cache.get(715), 1226);
    assert.equal(cache.get(129), 1595);
    assert.equal(cache.get(702), null);
    cache.put(371, 124);
    assert.equal(cache.get(935), 1185);
    assert.equal(cache.get(115), 3264);
    cache.put(265, 135);
    cache.put(744, 2886);
    assert.equal(cache.get(26), null);
    assert.equal(cache.get(329), 1136);
    assert.equal(cache.get(1374), 635);
    cache.put(1320, 2684);
    cache.put(329, 2713);
    assert.equal(cache.get(1053), 1116);
    assert.equal(cache.get(747), 3117);
    cache.put(641, 37);
    assert.equal(cache.get(597), null);
    assert.equal(cache.get(25), 644);
    cache.put(840, 137);
    cache.put(832, 3051);
    cache.put(1087, 996);
    cache.put(898, 269);
    cache.put(666, 3279);
    assert.equal(cache.get(939), 2615);
    cache.put(575, 1939);
    cache.put(1379, 1276);
    assert.equal(cache.get(431), 623);
    assert.equal(cache.get(1009), null);
    cache.put(736, 213);
    assert.equal(cache.get(888), 3040);
    cache.put(139, 60);
    cache.put(1097, 1426);
    cache.put(1218, 3051);
    cache.put(1291, 1168);
    assert.equal(cache.get(30), null);
    cache.put(323, 2707);
    cache.put(494, 2659);
    cache.put(1372, 1481);
    cache.put(881, 273);
    assert.equal(cache.get(278), 174);
    assert.equal(cache.get(176), null);
    cache.put(413, 572);
    cache.put(723, 1487);
    assert.equal(cache.get(449), 313);
    cache.put(1317, 539);
    assert.equal(cache.get(2), null);
    cache.put(922, 925);
    cache.put(314, 2322);
    cache.put(1176, 1718);
    cache.put(353, 56);
    cache.put(803, 1635);
    cache.put(243, 551);
    cache.put(972, 3212);
    assert.equal(cache.get(1420), 1655);
    cache.put(1377, 2204);
    assert.equal(cache.get(956), 588);
    assert.equal(cache.get(263), null);
    cache.put(312, 2917);
    cache.put(961, 144);
    cache.put(531, 277);
    cache.put(243, 1204);
    cache.put(1191, 376);
    cache.put(399, 369);
    cache.put(766, 2669);
    cache.put(463, 1523);
    assert.equal(cache.get(103), 1098);
    assert.equal(cache.get(1328), 1619);
    cache.put(416, 1876);
    cache.put(693, 2762);
    cache.put(613, 2263);
    cache.put(532, 1506);
    cache.put(1055, 971);
    assert.equal(cache.get(870), 1756);
    cache.put(1260, 1265);
    assert.equal(cache.get(912), null);
    assert.equal(cache.get(737), null);
    cache.put(719, 331);
    cache.put(1315, 1843);
    assert.equal(cache.get(1400), 2337);
    cache.put(1304, 181);
    assert.equal(cache.get(1291), 1168);
    cache.put(163, 158);
    cache.put(97, 717);
    cache.put(1345, 2127);
    assert.equal(cache.get(901), 881);
    assert.equal(cache.get(283), 2578);
    assert.equal(cache.get(1126), null);
    assert.equal(cache.get(725), null);
    cache.put(967, 225);
    assert.equal(cache.get(954), 2280);
    assert.equal(cache.get(1070), 1508);
    cache.put(783, 3272);
    cache.put(944, 1532);
    assert.equal(cache.get(45), 1749);
    assert.equal(cache.get(475), null);
    cache.put(350, 1106);
    cache.put(133, 2866);
    cache.put(973, 714);
    cache.put(988, 1058);
    cache.put(213, 143);
    assert.equal(cache.get(24), null);
    cache.put(434, 284);
    cache.put(1179, 826);
    cache.put(363, 2266);
    assert.equal(cache.get(596), 71);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(642), null);
    cache.put(511, 2760);
    cache.put(1015, 2215);
    cache.put(1030, 602);
    cache.put(995, 1793);
    cache.put(86, 1597);
    assert.equal(cache.get(1242), null);
    assert.equal(cache.get(270), 421);
    assert.equal(cache.get(588), 3097);
    assert.equal(cache.get(577), null);
    cache.put(1255, 1881);
    assert.equal(cache.get(1403), 1312);
    assert.equal(cache.get(1284), null);
    cache.put(307, 2930);
    assert.equal(cache.get(148), 3123);
    cache.put(1257, 2199);
    cache.put(657, 1343);
    assert.equal(cache.get(574), 3233);
    assert.equal(cache.get(325), null);
    cache.put(976, 1696);
    assert.equal(cache.get(678), 1850);
    cache.put(55, 1551);
    assert.equal(cache.get(1040), null);
    cache.put(1205, 3116);
    assert.equal(cache.get(803), 1635);
    cache.put(2, 2526);
    cache.put(1014, 3239);
    assert.equal(cache.get(1381), 2111);
    assert.equal(cache.get(1117), 1967);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(1095), 414);
    assert.equal(cache.get(971), 1787);
    cache.put(281, 3279);
    cache.put(27, 1320);
    assert.equal(cache.get(1192), 473);
    assert.equal(cache.get(299), null);
    cache.put(454, 1457);
    assert.equal(cache.get(596), 71);
    cache.put(167, 2864);
    cache.put(45, 2937);
    assert.equal(cache.get(288), null);
    assert.equal(cache.get(796), 1600);
    cache.put(612, 3196);
    cache.put(1109, 1957);
    cache.put(666, 1084);
    cache.put(781, 1024);
    cache.put(475, 1133);
    assert.equal(cache.get(949), null);
    assert.equal(cache.get(1360), 1786);
    cache.put(796, 1140);
    cache.put(1128, 2598);
    cache.put(210, 419);
    cache.put(1244, 1405);
    cache.put(1156, 2719);
    assert.equal(cache.get(810), 1100);
    assert.equal(cache.get(452), null);
    cache.put(264, 254);
    cache.put(1002, 2410);
    assert.equal(cache.get(261), 2260);
    assert.equal(cache.get(447), null);
    cache.put(514, 630);
    cache.put(285, 1405);
    cache.put(1229, 1785);
    assert.equal(cache.get(72), null);
    cache.put(536, 2511);
    assert.equal(cache.get(1378), 2259);
    cache.put(1273, 2461);
    cache.put(798, 2590);
    cache.put(524, 1018);
    cache.put(1002, 2092);
    cache.put(573, 1751);
    cache.put(675, 239);
    assert.equal(cache.get(1067), 3192);
    cache.put(92, 1246);
    cache.put(1352, 1145);
    assert.equal(cache.get(1147), 2900);
    assert.equal(cache.get(1338), 3219);
    assert.equal(cache.get(563), null);
    cache.put(531, 84);
    assert.equal(cache.get(206), 1546);
    assert.equal(cache.get(481), 2329);
    cache.put(238, 1547);
    cache.put(621, 2652);
    cache.put(710, 2836);
    cache.put(602, 2946);
    cache.put(515, 1027);
    cache.put(1157, 1188);
    assert.equal(cache.get(518), 2225);
    assert.equal(cache.get(1188), 1949);
    assert.equal(cache.get(680), null);
    cache.put(346, 2308);
    assert.equal(cache.get(513), null);
    cache.put(348, 404);
    cache.put(7, 147);
    assert.equal(cache.get(720), 359);
    cache.put(803, 1421);
    assert.equal(cache.get(722), 1249);
    assert.equal(cache.get(1104), null);
    cache.put(586, 2657);
    cache.put(692, 1035);
    assert.equal(cache.get(747), 3117);
    assert.equal(cache.get(960), 2626);
    cache.put(1420, 1800);
    cache.put(24, 767);
    assert.equal(cache.get(1347), 2057);
    cache.put(534, 2004);
    cache.put(859, 3143);
    assert.equal(cache.get(100), 1903);
    assert.equal(cache.get(1370), null);
    assert.equal(cache.get(1393), null);
    assert.equal(cache.get(873), 1185);
    assert.equal(cache.get(922), 925);
    cache.put(1348, 3247);
    assert.equal(cache.get(935), 1185);
    assert.equal(cache.get(1386), 1660);
    cache.put(1183, 1861);
    cache.put(1178, 1693);
    assert.equal(cache.get(1184), null);
    cache.put(1361, 457);
    assert.equal(cache.get(1285), 1039);
    cache.put(194, 881);
    cache.put(1211, 641);
    cache.put(351, 1248);
    cache.put(614, 163);
    cache.put(329, 1025);
    assert.equal(cache.get(888), 3040);
    cache.put(34, 1592);
    cache.put(125, 970);
    assert.equal(cache.get(453), 1433);
    assert.equal(cache.get(509), 3109);
    cache.put(1299, 1194);
    assert.equal(cache.get(238), 1547);
    assert.equal(cache.get(421), 373);
    cache.put(713, 82);
    cache.put(631, 226);
    cache.put(1224, 2025);
    assert.equal(cache.get(251), 2039);
    assert.equal(cache.get(164), null);
    assert.equal(cache.get(715), 1226);
    assert.equal(cache.get(776), 2299);
    assert.equal(cache.get(66), null);
    cache.put(273, 455);
    cache.put(1143, 301);
    assert.equal(cache.get(545), 2490);
    cache.put(1241, 2361);
    assert.equal(cache.get(690), 463);
    assert.equal(cache.get(383), 838);
    cache.put(145, 862);
    cache.put(314, 1525);
    assert.equal(cache.get(511), 2760);
    cache.put(460, 3229);
    assert.equal(cache.get(958), null);
    cache.put(1079, 359);
    assert.equal(cache.get(1106), 503);
    cache.put(1316, 1345);
    assert.equal(cache.get(819), null);
    assert.equal(cache.get(840), 137);
    cache.put(826, 3024);
    assert.equal(cache.get(953), 120);
    assert.equal(cache.get(1347), 2057);
    cache.put(620, 1097);
    assert.equal(cache.get(595), null);
    cache.put(1177, 1734);
    cache.put(790, 1311);
    cache.put(1298, 652);
    cache.put(34, 1358);
    assert.equal(cache.get(470), 2801);
    assert.equal(cache.get(160), 928);
    cache.put(325, 3012);
    assert.equal(cache.get(1386), 1660);
    assert.equal(cache.get(692), 1035);
    assert.equal(cache.get(566), 949);
    cache.put(507, 1189);
    cache.put(1126, 2603);
    cache.put(1204, 2099);
    assert.equal(cache.get(574), 3233);
    cache.put(1323, 3024);
    assert.equal(cache.get(208), 2504);
    cache.put(965, 217);
    assert.equal(cache.get(692), 1035);
    cache.put(1199, 452);
    assert.equal(cache.get(372), 1175);
    cache.put(781, 1400);
    assert.equal(cache.get(183), 2705);
    cache.put(443, 1343);
    assert.equal(cache.get(1292), 2802);
    cache.put(818, 744);
    cache.put(515, 3248);
    assert.equal(cache.get(219), 2329);
    assert.equal(cache.get(536), 2511);
    cache.put(1256, 2614);
    assert.equal(cache.get(719), 331);
    cache.put(277, 691);
    cache.put(1214, 2912);
    assert.equal(cache.get(802), 1192);
    cache.put(509, 132);
    assert.equal(cache.get(340), 1395);
    cache.put(875, 455);
    cache.put(1391, 2628);
    assert.equal(cache.get(203), 2185);
    cache.put(756, 2050);
    cache.put(271, 1202);
    assert.equal(cache.get(771), null);
    cache.put(1395, 1096);
    assert.equal(cache.get(702), null);
    assert.equal(cache.get(884), null);
    cache.put(916, 3041);
    cache.put(838, 1186);
    assert.equal(cache.get(694), null);
    assert.equal(cache.get(657), 1343);
    cache.put(1398, 1342);
    assert.equal(cache.get(477), 906);
    cache.put(515, 656);
    cache.put(12, 855);
    cache.put(1415, 2493);
    cache.put(226, 2506);
    cache.put(1135, 1326);
    assert.equal(cache.get(1037), null);
    assert.equal(cache.get(717), 3021);
    cache.put(822, 2007);
    cache.put(1419, 2577);
    cache.put(1211, 2994);
    assert.equal(cache.get(496), 1320);
    cache.put(303, 693);
    assert.equal(cache.get(592), null);
    assert.equal(cache.get(574), 3233);
    cache.put(1006, 904);
    assert.equal(cache.get(966), 2976);
    assert.equal(cache.get(545), 2490);
    cache.put(469, 1109);
    cache.put(878, 412);
    cache.put(315, 2027);
    cache.put(529, 2912);
    cache.put(142, 2432);
    assert.equal(cache.get(796), 1140);
    cache.put(1286, 2209);
    cache.put(954, 1277);
    assert.equal(cache.get(18), null);
    cache.put(741, 414);
    cache.put(1423, 31);
    cache.put(377, 1692);
    assert.equal(cache.get(304), 2703);
    cache.put(840, 687);
    cache.put(1310, 1335);
    cache.put(613, 1691);
    assert.equal(cache.get(737), null);
    assert.equal(cache.get(588), 3097);
    cache.put(987, 612);
    cache.put(349, 1829);
    cache.put(350, 280);
    cache.put(477, 381);
    assert.equal(cache.get(216), 3083);
    assert.equal(cache.get(57), 2681);
    cache.put(894, 2803);
    cache.put(1368, 2735);
    cache.put(488, 2593);
    assert.equal(cache.get(1210), null);
    cache.put(405, 2647);
    assert.equal(cache.get(350), 280);
    cache.put(1024, 1553);
    cache.put(125, 400);
    assert.equal(cache.get(672), null);
    assert.equal(cache.get(623), 383);
    assert.equal(cache.get(1158), 3018);
    assert.equal(cache.get(1204), 2099);
    cache.put(904, 1636);
    assert.equal(cache.get(530), null);
    assert.equal(cache.get(613), 1691);
    cache.put(226, 542);
    assert.equal(cache.get(1016), null);
    assert.equal(cache.get(291), null);
    assert.equal(cache.get(80), 24);
    assert.equal(cache.get(922), 925);
    cache.put(443, 2868);
    assert.equal(cache.get(1323), 3024);
    cache.put(304, 2133);
    cache.put(614, 757);
    assert.equal(cache.get(149), 1725);
    cache.put(265, 3075);
    cache.put(334, 1821);
    assert.equal(cache.get(421), 373);
    assert.equal(cache.get(325), 3012);
    assert.equal(cache.get(1122), 1839);
    cache.put(1285, 1731);
    cache.put(829, 2473);
    assert.equal(cache.get(1429), 2360);
    assert.equal(cache.get(1343), 411);
    assert.equal(cache.get(692), 1035);
    assert.equal(cache.get(604), null);
    cache.put(1031, 2751);
    cache.put(1355, 1530);
    cache.put(334, 1446);
    cache.put(259, 3007);
    assert.equal(cache.get(980), 1026);
    cache.put(838, 572);
    assert.equal(cache.get(1292), 2802);
    cache.put(156, 1240);
    assert.equal(cache.get(1263), 135);
    assert.equal(cache.get(506), 1263);
    assert.equal(cache.get(1259), null);
    cache.put(190, 2565);
    assert.equal(cache.get(339), 131);
    cache.put(1084, 578);
    cache.put(652, 1493);
    assert.equal(cache.get(527), null);
    cache.put(850, 867);
    cache.put(1390, 2400);
    assert.equal(cache.get(281), 3279);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(605), null);
    cache.put(616, 144);
    cache.put(143, 46);
    cache.put(180, 1939);
    assert.equal(cache.get(652), 1493);
    cache.put(1119, 1178);
    cache.put(1137, 1194);
    cache.put(650, 2721);
    assert.equal(cache.get(562), 420);
    assert.equal(cache.get(71), null);
    assert.equal(cache.get(998), 743);
    assert.equal(cache.get(721), null);
    cache.put(20, 87);
    cache.put(383, 2887);
    cache.put(1345, 490);
    cache.put(326, 3040);
    assert.equal(cache.get(1167), null);
    cache.put(1216, 2085);
    cache.put(701, 2707);
    assert.equal(cache.get(31), null);
    cache.put(1117, 1575);
    assert.equal(cache.get(418), 469);
    assert.equal(cache.get(142), 2432);
    cache.put(913, 332);
    assert.equal(cache.get(519), 3247);
    assert.equal(cache.get(1087), 996);
    cache.put(984, 1668);
    assert.equal(cache.get(533), null);
    assert.equal(cache.get(511), 2760);
    assert.equal(cache.get(336), null);
    cache.put(1028, 1173);
    assert.equal(cache.get(1050), 1633);
    cache.put(810, 2579);
    assert.equal(cache.get(249), 2257);
    cache.put(204, 2242);
    cache.put(1419, 509);
    assert.equal(cache.get(775), 741);
    assert.equal(cache.get(68), null);
    cache.put(99, 507);
    cache.put(1136, 1815);
    cache.put(148, 279);
    assert.equal(cache.get(76), 3021);
    cache.put(997, 2240);
    assert.equal(cache.get(778), null);
    cache.put(659, 509);
    assert.equal(cache.get(269), null);
    cache.put(556, 298);
    assert.equal(cache.get(801), 1217);
    assert.equal(cache.get(822), 2007);
    cache.put(952, 1900);
    assert.equal(cache.get(68), null);
    assert.equal(cache.get(1000), 2617);
    cache.put(1086, 854);
    assert.equal(cache.get(993), 1211);
    assert.equal(cache.get(590), 2848);
    cache.put(595, 2681);
    cache.put(1113, 656);
    cache.put(730, 1167);
    cache.put(361, 2132);
    cache.put(1300, 1339);
    cache.put(105, 3083);
    cache.put(1144, 1301);
    cache.put(572, 2344);
    assert.equal(cache.get(885), 2085);
    cache.put(793, 3216);
    cache.put(617, 1519);
    assert.equal(cache.get(8), null);
    cache.put(1301, 2386);
    assert.equal(cache.get(276), null);
    cache.put(241, 1069);
    assert.equal(cache.get(686), null);
    cache.put(763, 2438);
    assert.equal(cache.get(704), null);
    cache.put(1264, 2629);
    cache.put(1160, 2906);
    cache.put(129, 585);
    assert.equal(cache.get(638), 2036);
    assert.equal(cache.get(989), 425);
    assert.equal(cache.get(330), 1365);
    assert.equal(cache.get(370), null);
    cache.put(788, 2861);
    cache.put(740, 2140);
    assert.equal(cache.get(565), 1539);
    cache.put(1199, 1541);
    assert.equal(cache.get(248), 3134);
    cache.put(934, 3112);
    assert.equal(cache.get(1039), null);
    cache.put(1384, 3256);
    cache.put(763, 2988);
    cache.put(1201, 875);
    assert.equal(cache.get(831), 984);
    cache.put(510, 3182);
    cache.put(107, 1524);
    cache.put(588, 2189);
    cache.put(37, 2556);
    assert.equal(cache.get(1230), null);
    cache.put(130, 1655);
    cache.put(858, 3136);
    cache.put(501, 419);
    cache.put(1030, 1671);
    assert.equal(cache.get(867), null);
    assert.equal(cache.get(365), null);
    cache.put(1254, 473);
    cache.put(1180, 1524);
    cache.put(1206, 3254);
    cache.put(473, 2146);
    cache.put(1396, 473);
    assert.equal(cache.get(1067), 3192);
    cache.put(1429, 1665);
    assert.equal(cache.get(325), 3012);
    assert.equal(cache.get(103), 1098);
    cache.put(25, 3051);
    cache.put(1172, 1205);
    cache.put(1149, 497);
    cache.put(280, 1400);
    assert.equal(cache.get(1227), null);
    cache.put(570, 1290);
    cache.put(825, 1615);
    assert.equal(cache.get(864), null);
    cache.put(429, 544);
    assert.equal(cache.get(893), null);
    cache.put(73, 1862);
    cache.put(734, 39);
    assert.equal(cache.get(1276), null);
    cache.put(1360, 3041);
    assert.equal(cache.get(1129), null);
    cache.put(717, 248);
    assert.equal(cache.get(881), 273);
    cache.put(1205, 1361);
    cache.put(45, 2623);
    cache.put(245, 1879);
    cache.put(1368, 2664);
    assert.equal(cache.get(603), 2094);
    cache.put(548, 1551);
    assert.equal(cache.get(1096), 3082);
    assert.equal(cache.get(866), null);
    cache.put(85, 239);
    assert.equal(cache.get(298), null);
    cache.put(249, 1547);
    cache.put(1162, 2229);
    cache.put(284, 492);
    assert.equal(cache.get(1325), null);
    cache.put(654, 2398);
    cache.put(569, 3132);
    assert.equal(cache.get(942), 3238);
    cache.put(668, 1388);
    cache.put(814, 2874);
    assert.equal(cache.get(1263), 135);
    cache.put(758, 1672);
    cache.put(852, 2882);
    cache.put(706, 1036);
    assert.equal(cache.get(595), 2681);
    cache.put(483, 2300);
    assert.equal(cache.get(311), 3019);
    assert.equal(cache.get(891), 1505);
    assert.equal(cache.get(1095), 414);
    assert.equal(cache.get(1117), 1575);
    cache.put(1217, 1177);
    assert.equal(cache.get(451), 1396);
    assert.equal(cache.get(743), 413);
    assert.equal(cache.get(1046), 2920);
    assert.equal(cache.get(70), 237);
    assert.equal(cache.get(640), 2250);
    assert.equal(cache.get(132), null);
    cache.put(1374, 417);
    assert.equal(cache.get(389), 2046);
    assert.equal(cache.get(307), 2930);
    cache.put(1338, 2031);
    assert.equal(cache.get(930), null);
    cache.put(1176, 2043);
    assert.equal(cache.get(1354), 3152);
    cache.put(1192, 3132);
    cache.put(240, 1541);
    assert.equal(cache.get(1223), null);
    cache.put(413, 2552);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(557), 305);
    cache.put(304, 902);
    cache.put(691, 1301);
    cache.put(61, 3055);
    assert.equal(cache.get(1126), 2603);
    cache.put(337, 459);
    cache.put(1072, 1511);
    cache.put(255, 2348);
    assert.equal(cache.get(1353), null);
    assert.equal(cache.get(1155), null);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(1429), 1665);
    assert.equal(cache.get(1407), 796);
    cache.put(326, 2407);
    cache.put(245, 505);
    assert.equal(cache.get(138), null);
    assert.equal(cache.get(352), 1395);
    assert.equal(cache.get(864), null);
    cache.put(383, 1023);
    assert.equal(cache.get(1118), null);
    cache.put(629, 3180);
    assert.equal(cache.get(183), 2705);
    cache.put(950, 365);
    assert.equal(cache.get(1000), 2617);
    assert.equal(cache.get(1157), 1188);
    assert.equal(cache.get(1405), 669);
    assert.equal(cache.get(341), 2912);
    assert.equal(cache.get(1389), null);
    assert.equal(cache.get(1376), null);
    cache.put(118, 119);
    cache.put(1324, 533);
    assert.equal(cache.get(1208), null);
    assert.equal(cache.get(22), null);
    cache.put(1254, 2928);
    assert.equal(cache.get(1110), 2504);
    assert.equal(cache.get(536), 2511);
    assert.equal(cache.get(518), 2225);
    assert.equal(cache.get(1123), null);
    cache.put(791, 1381);
    cache.put(303, 2736);
    cache.put(127, 3152);
    cache.put(445, 1992);
    cache.put(235, 1649);
    cache.put(259, 1140);
    cache.put(181, 2670);
    cache.put(549, 851);
    cache.put(812, 1847);
    cache.put(1159, 2903);
    cache.put(1218, 500);
    cache.put(432, 1692);
    assert.equal(cache.get(1270), 730);
    cache.put(1156, 1503);
    assert.equal(cache.get(1406), 1387);
    cache.put(679, 932);
    cache.put(261, 2066);
    cache.put(1179, 1225);
    cache.put(141, 3187);
    assert.equal(cache.get(810), 2579);
    cache.put(1398, 1560);
    assert.equal(cache.get(1097), 1426);
    cache.put(680, 330);
    cache.put(944, 2797);
    cache.put(1370, 628);
    cache.put(759, 3174);
    assert.equal(cache.get(1117), 1575);
    assert.equal(cache.get(1088), null);
    assert.equal(cache.get(1080), 725);
    cache.put(224, 1914);
    assert.equal(cache.get(138), null);
    cache.put(1106, 2760);
    assert.equal(cache.get(134), 902);
    cache.put(3, 2978);
    cache.put(19, 1564);
    cache.put(782, 2467);
    assert.equal(cache.get(851), null);
    cache.put(189, 1558);
    cache.put(1071, 2114);
    cache.put(536, 836);
    cache.put(1045, 276);
    assert.equal(cache.get(94), 3115);
    assert.equal(cache.get(1144), 1301);
    cache.put(171, 318);
    cache.put(18, 2417);
    assert.equal(cache.get(989), 425);
    cache.put(729, 2881);
    assert.equal(cache.get(308), null);
    cache.put(409, 1173);
    cache.put(775, 3137);
    cache.put(734, 1014);
    cache.put(827, 2738);
    assert.equal(cache.get(1323), 3024);
    assert.equal(cache.get(1295), 2616);
    cache.put(563, 2045);
    cache.put(997, 2540);
    cache.put(68, 3036);
    cache.put(785, 1208);
    cache.put(968, 2147);
    assert.equal(cache.get(1431), 1073);
    assert.equal(cache.get(744), 2886);
    cache.put(1288, 143);
    cache.put(875, 1805);
    assert.equal(cache.get(1137), 1194);
    assert.equal(cache.get(144), null);
    assert.equal(cache.get(1220), 1505);
    assert.equal(cache.get(802), 1192);
    cache.put(112, 566);
    cache.put(2, 2855);
    assert.equal(cache.get(408), 2554);
    cache.put(995, 1240);
    assert.equal(cache.get(651), 3249);
    cache.put(1261, 21);
    cache.put(38, 489);
    cache.put(1085, 440);
    assert.equal(cache.get(665), null);
    assert.equal(cache.get(89), 305);
    cache.put(800, 475);
    cache.put(715, 1393);
    assert.equal(cache.get(350), 280);
    cache.put(429, 169);
    cache.put(582, 2895);
    cache.put(1234, 2139);
    cache.put(31, 114);
    cache.put(1363, 2876);
    assert.equal(cache.get(232), 2317);
    cache.put(81, 2519);
    assert.equal(cache.get(214), null);
    cache.put(365, 2783);
    cache.put(1078, 560);
    assert.equal(cache.get(1232), 1737);
    cache.put(1276, 23);
    assert.equal(cache.get(372), 1175);
    assert.equal(cache.get(152), 384);
    assert.equal(cache.get(1158), 3018);
    assert.equal(cache.get(865), 1930);
    cache.put(1141, 225);
    assert.equal(cache.get(26), null);
    cache.put(1320, 2803);
    cache.put(1008, 429);
    assert.equal(cache.get(879), 3051);
    cache.put(7, 3163);
    cache.put(1417, 2128);
    cache.put(805, 1348);
    assert.equal(cache.get(1345), 490);
    assert.equal(cache.get(1136), 1815);
    assert.equal(cache.get(984), 1668);
    cache.put(820, 2555);
    assert.equal(cache.get(348), 404);
    cache.put(309, 860);
    cache.put(1093, 523);
    cache.put(262, 144);
    assert.equal(cache.get(1135), 1326);
    cache.put(446, 627);
    assert.equal(cache.get(1172), 1205);
    assert.equal(cache.get(1426), 178);
    cache.put(913, 454);
    cache.put(105, 2531);
    cache.put(1134, 1562);
    cache.put(700, 1023);
    cache.put(1181, 2099);
    assert.equal(cache.get(938), 2940);
    cache.put(309, 2944);
    assert.equal(cache.get(1161), null);
    assert.equal(cache.get(1090), 2345);
    assert.equal(cache.get(949), null);
    cache.put(750, 2504);
    assert.equal(cache.get(497), null);
    cache.put(1194, 2390);
    assert.equal(cache.get(127), 3152);
    assert.equal(cache.get(1056), 274);
    assert.equal(cache.get(941), 677);
    assert.equal(cache.get(369), null);
    cache.put(1366, 3100);
    assert.equal(cache.get(717), 248);
    cache.put(1207, 2903);
    cache.put(1410, 1328);
    cache.put(689, 692);
    assert.equal(cache.get(731), 3135);
    cache.put(1044, 2583);
    assert.equal(cache.get(600), 650);
    assert.equal(cache.get(1213), null);
    cache.put(918, 1074);
    cache.put(436, 2186);
    cache.put(365, 2557);
    cache.put(704, 3226);
    assert.equal(cache.get(1391), 2628);
    cache.put(611, 2001);
    cache.put(744, 2990);
    cache.put(247, 2909);
    assert.equal(cache.get(1040), null);
    cache.put(1419, 2468);
    assert.equal(cache.get(267), 1599);
    cache.put(374, 1097);
    cache.put(1324, 3250);
    cache.put(957, 145);
    cache.put(729, 2690);
    cache.put(1263, 1589);
    assert.equal(cache.get(270), 421);
    cache.put(1066, 575);
    assert.equal(cache.get(1054), 3120);
    cache.put(450, 2691);
    cache.put(529, 1390);
    assert.equal(cache.get(435), 1906);
    assert.equal(cache.get(123), null);
    cache.put(184, 2262);
    assert.equal(cache.get(189), 1558);
    assert.equal(cache.get(758), 1672);
    assert.equal(cache.get(667), null);
    cache.put(228, 2877);
    assert.equal(cache.get(247), 2909);
    assert.equal(cache.get(1414), 810);
    assert.equal(cache.get(535), 1544);
    assert.equal(cache.get(645), null);
    assert.equal(cache.get(439), 1631);
    cache.put(71, 683);
    assert.equal(cache.get(750), 2504);
    cache.put(314, 2955);
    cache.put(751, 1372);
    cache.put(783, 2339);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(669), 2175);
    cache.put(216, 568);
    assert.equal(cache.get(1029), null);
    assert.equal(cache.get(887), 2855);
    cache.put(1086, 3232);
    assert.equal(cache.get(1379), 1276);
    cache.put(288, 1123);
    assert.equal(cache.get(901), 881);
    cache.put(1369, 302);
    assert.equal(cache.get(1324), 3250);
    cache.put(48, 1253);
    cache.put(13, 950);
    cache.put(1128, 377);
    cache.put(794, 244);
    cache.put(20, 1384);
    assert.equal(cache.get(665), null);
    assert.equal(cache.get(981), null);
    cache.put(258, 2835);
    cache.put(512, 3299);
    cache.put(374, 2369);
    assert.equal(cache.get(1317), 539);
    cache.put(1356, 1627);
    cache.put(735, 3137);
    assert.equal(cache.get(1189), null);
    cache.put(617, 1882);
    assert.equal(cache.get(1097), 1426);
    assert.equal(cache.get(843), 2042);
    cache.put(1081, 1137);
    cache.put(57, 1356);
    cache.put(1255, 2869);
    assert.equal(cache.get(1295), 2616);
    assert.equal(cache.get(344), 1634);
    assert.equal(cache.get(686), null);
    cache.put(962, 1963);
    cache.put(467, 1510);
    cache.put(855, 1143);
    assert.equal(cache.get(112), 566);
    cache.put(1033, 1991);
    assert.equal(cache.get(105), 2531);
    assert.equal(cache.get(624), 2493);
    assert.equal(cache.get(804), 2245);
    cache.put(850, 3017);
    assert.equal(cache.get(1316), 1345);
    assert.equal(cache.get(1245), null);
    cache.put(351, 2158);
    cache.put(947, 620);
    cache.put(369, 2969);
    cache.put(336, 1386);
    assert.equal(cache.get(193), 1601);
    cache.put(928, 2829);
    assert.equal(cache.get(1144), 1301);
    assert.equal(cache.get(1048), 944);
    assert.equal(cache.get(368), null);
    assert.equal(cache.get(1429), 1665);
    cache.put(271, 1870);
    assert.equal(cache.get(1410), 1328);
    assert.equal(cache.get(999), null);
    cache.put(210, 1793);
    cache.put(1185, 2112);
    assert.equal(cache.get(241), 1069);
    cache.put(212, 2822);
    cache.put(1404, 623);
    cache.put(1059, 665);
    assert.equal(cache.get(513), null);
    cache.put(1167, 95);
    cache.put(1218, 1675);
    assert.equal(cache.get(928), 2829);
    cache.put(270, 2518);
    cache.put(452, 140);
    cache.put(441, 2578);
    assert.equal(cache.get(645), null);
    assert.equal(cache.get(763), 2988);
    assert.equal(cache.get(1399), 528);
    cache.put(277, 2935);
    cache.put(629, 755);
    assert.equal(cache.get(586), 2657);
    cache.put(1200, 3256);
    assert.equal(cache.get(633), 1583);
    assert.equal(cache.get(899), 699);
    assert.equal(cache.get(622), null);
    cache.put(332, 1806);
    assert.equal(cache.get(502), null);
    assert.equal(cache.get(472), null);
    assert.equal(cache.get(452), 140);
    cache.put(48, 3102);
    assert.equal(cache.get(1193), 2191);
    cache.put(251, 1146);
    cache.put(750, 2361);
    assert.equal(cache.get(842), null);
    cache.put(324, 2916);
    assert.equal(cache.get(1363), 2876);
    assert.equal(cache.get(552), null);
    assert.equal(cache.get(703), 677);
    cache.put(1251, 2851);
    cache.put(348, 3037);
    cache.put(580, 176);
    assert.equal(cache.get(182), null);
    cache.put(356, 952);
    cache.put(60, 2364);
    assert.equal(cache.get(219), 2329);
    assert.equal(cache.get(1427), 843);
    assert.equal(cache.get(817), 2991);
    cache.put(911, 191);
    cache.put(877, 3093);
    cache.put(817, 93);
    cache.put(182, 2856);
    assert.equal(cache.get(843), 2042);
    cache.put(9, 1592);
    cache.put(1401, 2779);
    cache.put(983, 1077);
    assert.equal(cache.get(356), 952);
    assert.equal(cache.get(913), 454);
    cache.put(907, 122);
    assert.equal(cache.get(981), null);
    cache.put(722, 2610);
    assert.equal(cache.get(909), 1170);
    cache.put(453, 504);
    cache.put(1397, 761);
    cache.put(465, 755);
    cache.put(79, 2217);
    cache.put(29, 2595);
    assert.equal(cache.get(1217), 1177);
    cache.put(1105, 2935);
    cache.put(952, 1994);
    cache.put(1171, 302);
    assert.equal(cache.get(754), 876);
    assert.equal(cache.get(235), 1649);
    cache.put(41, 267);
    assert.equal(cache.get(780), 1745);
    cache.put(987, 2478);
    cache.put(637, 1180);
    cache.put(1126, 2111);
    cache.put(116, 3098);
    cache.put(84, 1024);
    cache.put(543, 2536);
    cache.put(702, 858);
    cache.put(863, 2065);
    assert.equal(cache.get(99), 507);
    cache.put(28, 669);
    cache.put(777, 1749);
    assert.equal(cache.get(22), null);
    cache.put(550, 3077);
    assert.equal(cache.get(1233), 1089);
    assert.equal(cache.get(938), 2940);
    cache.put(367, 2762);
    cache.put(51, 1457);
    cache.put(498, 54);
    cache.put(716, 1509);
    cache.put(897, 1297);
    cache.put(70, 166);
    assert.equal(cache.get(1155), null);
    assert.equal(cache.get(799), null);
    cache.put(121, 1351);
    cache.put(195, 948);
    assert.equal(cache.get(1123), null);
    cache.put(354, 1218);
    assert.equal(cache.get(617), 1882);
    assert.equal(cache.get(412), 1576);
    cache.put(1120, 1408);
    cache.put(858, 3277);
    cache.put(210, 547);
    cache.put(748, 1845);
    cache.put(313, 3231);
    assert.equal(cache.get(821), 3085);
    cache.put(1191, 2293);
    assert.equal(cache.get(994), 491);
    cache.put(217, 3158);
    assert.equal(cache.get(115), 3264);
    cache.put(392, 2400);
    cache.put(984, 2027);
    cache.put(266, 126);
    assert.equal(cache.get(410), null);
    cache.put(253, 2366);
    cache.put(1195, 2931);
    assert.equal(cache.get(1104), null);
    cache.put(450, 2345);
    cache.put(934, 908);
    cache.put(1007, 2228);
    assert.equal(cache.get(1019), 708);
    assert.equal(cache.get(1124), 952);
    cache.put(1110, 1047);
    cache.put(1169, 2254);
    assert.equal(cache.get(979), 1051);
    assert.equal(cache.get(1125), null);
    assert.equal(cache.get(731), 3135);
    assert.equal(cache.get(832), 3051);
    assert.equal(cache.get(993), 1211);
    assert.equal(cache.get(1426), 178);
    assert.equal(cache.get(1176), 2043);
    cache.put(714, 1618);
    cache.put(1138, 3204);
    cache.put(456, 654);
    cache.put(659, 279);
    cache.put(938, 2176);
    cache.put(171, 862);
    assert.equal(cache.get(487), null);
    assert.equal(cache.get(265), 3075);
    assert.equal(cache.get(1), 983);
    cache.put(948, 331);
    cache.put(68, 114);
    assert.equal(cache.get(432), 1692);
    assert.equal(cache.get(1390), 2400);
    cache.put(342, 105);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(311), 3019);
    assert.equal(cache.get(261), 2066);
    cache.put(1361, 2206);
    cache.put(237, 830);
    cache.put(231, 1824);
    cache.put(885, 2921);
    assert.equal(cache.get(1108), 2917);
    cache.put(1286, 2991);
    cache.put(1257, 2283);
    cache.put(1169, 658);
    assert.equal(cache.get(864), null);
    cache.put(555, 1279);
    cache.put(1196, 1481);
    cache.put(1045, 1752);
    assert.equal(cache.get(1145), 1309);
    cache.put(1123, 2211);
    cache.put(1023, 1097);
    cache.put(374, 1376);
    cache.put(296, 2076);
    cache.put(83, 3111);
    cache.put(1098, 50);
    assert.equal(cache.get(1375), 1591);
    assert.equal(cache.get(600), 650);
    cache.put(375, 2366);
    assert.equal(cache.get(757), null);
    assert.equal(cache.get(1156), 1503);
    cache.put(746, 814);
    cache.put(1165, 1705);
    cache.put(409, 2966);
    assert.equal(cache.get(248), 3134);
    cache.put(763, 1906);
    assert.equal(cache.get(947), 620);
    cache.put(28, 276);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(736), 213);
    assert.equal(cache.get(721), null);
    assert.equal(cache.get(1047), 2536);
    assert.equal(cache.get(260), null);
    cache.put(459, 1643);
    assert.equal(cache.get(409), 2966);
    cache.put(894, 602);
    assert.equal(cache.get(548), 1551);
    cache.put(1229, 953);
    assert.equal(cache.get(585), null);
    assert.equal(cache.get(867), null);
    cache.put(636, 2511);
    assert.equal(cache.get(381), null);
    cache.put(418, 1183);
    cache.put(1282, 2453);
    cache.put(40, 1045);
    cache.put(1415, 1234);
    cache.put(482, 1344);
    assert.equal(cache.get(394), null);
    assert.equal(cache.get(481), 2329);
    assert.equal(cache.get(56), null);
    cache.put(1095, 2681);
    cache.put(534, 1586);
    cache.put(1034, 1306);
    assert.equal(cache.get(905), 977);
    cache.put(871, 1381);
    assert.equal(cache.get(343), 2787);
    assert.equal(cache.get(629), 755);
    assert.equal(cache.get(696), null);
    assert.equal(cache.get(1305), null);
    assert.equal(cache.get(1007), 2228);
    cache.put(1225, 3168);
    cache.put(685, 1640);
    cache.put(204, 2784);
    cache.put(326, 2769);
    assert.equal(cache.get(494), 2659);
    cache.put(1083, 1455);
    cache.put(360, 1096);
    cache.put(1263, 1549);
    assert.equal(cache.get(507), 1189);
    assert.equal(cache.get(1031), 2751);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(1340), 2354);
    cache.put(808, 2719);
    cache.put(1132, 1762);
    assert.equal(cache.get(1151), 2538);
    cache.put(1296, 2889);
    cache.put(413, 211);
    assert.equal(cache.get(1368), 2664);
    assert.equal(cache.get(1299), 1194);
    cache.put(978, 1179);
    cache.put(526, 439);
    assert.equal(cache.get(677), 3117);
    cache.put(298, 3182);
    cache.put(510, 2135);
    cache.put(7, 759);
    cache.put(510, 3077);
    assert.equal(cache.get(697), 546);
    cache.put(35, 2797);
    cache.put(464, 1415);
    assert.equal(cache.get(391), 1748);
    assert.equal(cache.get(1061), 183);
    assert.equal(cache.get(573), 1751);
    cache.put(1261, 1490);
    assert.equal(cache.get(305), null);
    cache.put(214, 2281);
    cache.put(22, 3211);
    assert.equal(cache.get(52), 3099);
    assert.equal(cache.get(225), 3017);
    assert.equal(cache.get(1235), 243);
    cache.put(1129, 3169);
    cache.put(1170, 880);
    cache.put(707, 1036);
    cache.put(279, 199);
    assert.equal(cache.get(938), 2176);
    assert.equal(cache.get(650), 2721);
    cache.put(853, 3162);
    assert.equal(cache.get(324), 2916);
    cache.put(267, 1759);
    cache.put(121, 1043);
    assert.equal(cache.get(661), 2324);
    cache.put(111, 1893);
    cache.put(561, 2546);
    cache.put(437, 2312);
    assert.equal(cache.get(797), 2219);
    cache.put(437, 2652);
    assert.equal(cache.get(313), 3231);
    assert.equal(cache.get(1116), 460);
    cache.put(402, 98);
    cache.put(473, 698);
    assert.equal(cache.get(1208), null);
    cache.put(963, 739);
    cache.put(332, 37);
    cache.put(1297, 2835);
    assert.equal(cache.get(1238), 893);
    assert.equal(cache.get(1208), null);
    assert.equal(cache.get(140), null);
    cache.put(1233, 387);
    assert.equal(cache.get(1338), 2031);
    assert.equal(cache.get(301), 2115);
    assert.equal(cache.get(1377), 2204);
    assert.equal(cache.get(1170), 880);
    cache.put(362, 1228);
    cache.put(336, 3174);
    cache.put(1176, 1579);
    cache.put(520, 761);
    cache.put(807, 1166);
    cache.put(186, 2527);
    cache.put(512, 1590);
    assert.equal(cache.get(1225), 3168);
    cache.put(460, 846);
    cache.put(1016, 1221);
    cache.put(486, 1697);
    assert.equal(cache.get(16), null);
    assert.equal(cache.get(804), 2245);
    cache.put(1325, 269);
    cache.put(28, 2090);
    cache.put(1427, 490);
    cache.put(400, 2778);
    assert.equal(cache.get(1045), 1752);
    assert.equal(cache.get(1191), 2293);
    assert.equal(cache.get(980), 1026);
    cache.put(258, 358);
    cache.put(26, 1845);
    assert.equal(cache.get(1077), 1030);
    assert.equal(cache.get(849), null);
    cache.put(516, 3132);
    assert.equal(cache.get(969), 2636);
    assert.equal(cache.get(829), 2473);
    cache.put(726, 3106);
    assert.equal(cache.get(1385), 2609);
    assert.equal(cache.get(776), 2299);
    assert.equal(cache.get(335), 2558);
    assert.equal(cache.get(301), 2115);
    cache.put(1, 1417);
    assert.equal(cache.get(1022), null);
    assert.equal(cache.get(963), 739);
    cache.put(140, 2490);
    assert.equal(cache.get(205), 1659);
    assert.equal(cache.get(1406), 1387);
    cache.put(497, 2529);
    cache.put(1152, 2610);
    assert.equal(cache.get(594), 3016);
    assert.equal(cache.get(778), null);
    cache.put(995, 1273);
    assert.equal(cache.get(649), null);
    assert.equal(cache.get(879), 3051);
    assert.equal(cache.get(495), null);
    assert.equal(cache.get(1329), null);
    assert.equal(cache.get(406), 236);
    assert.equal(cache.get(685), 1640);
    assert.equal(cache.get(281), 3279);
    cache.put(367, 2898);
    assert.equal(cache.get(397), 57);
    cache.put(984, 2412);
    cache.put(1335, 2130);
    assert.equal(cache.get(855), 1143);
    assert.equal(cache.get(155), null);
    assert.equal(cache.get(983), 1077);
    cache.put(1392, 2433);
    cache.put(1244, 202);
    assert.equal(cache.get(557), 305);
    assert.equal(cache.get(1180), 1524);
    cache.put(992, 1729);
    assert.equal(cache.get(1393), null);
    cache.put(419, 1790);
    cache.put(695, 1572);
    assert.equal(cache.get(414), null);
    assert.equal(cache.get(1341), 1860);
    cache.put(3, 448);
    cache.put(1154, 85);
    cache.put(1305, 2522);
    cache.put(987, 1760);
    assert.equal(cache.get(575), 1939);
    assert.equal(cache.get(1240), null);
    assert.equal(cache.get(488), 2593);
    cache.put(1063, 1525);
    cache.put(322, 1035);
    cache.put(1293, 1220);
    assert.equal(cache.get(1117), 1575);
    cache.put(1051, 380);
    cache.put(1334, 456);
    cache.put(1185, 2721);
    cache.put(711, 1136);
    cache.put(697, 588);
    cache.put(529, 2030);
    assert.equal(cache.get(1161), null);
    assert.equal(cache.get(146), 2143);
    assert.equal(cache.get(33), 14);
    assert.equal(cache.get(392), 2400);
    assert.equal(cache.get(1182), null);
    cache.put(1028, 2263);
    cache.put(269, 1485);
    assert.equal(cache.get(386), null);
    assert.equal(cache.get(1296), 2889);
    assert.equal(cache.get(830), 22);
    assert.equal(cache.get(1038), null);
    cache.put(727, 486);
    assert.equal(cache.get(757), null);
    assert.equal(cache.get(616), 144);
    cache.put(727, 2730);
    assert.equal(cache.get(745), 1702);
    cache.put(1199, 1732);
    cache.put(749, 3230);
    cache.put(800, 2370);
    cache.put(1427, 620);
    assert.equal(cache.get(226), 542);
    assert.equal(cache.get(819), null);
    cache.put(846, 3194);
    assert.equal(cache.get(313), 3231);
    assert.equal(cache.get(1415), 1234);
    cache.put(524, 855);
    cache.put(346, 387);
    cache.put(1003, 2645);
    assert.equal(cache.get(607), 2172);
    cache.put(292, 158);
    cache.put(1325, 417);
    assert.equal(cache.get(676), 913);
    cache.put(1277, 927);
    assert.equal(cache.get(884), null);
    assert.equal(cache.get(505), null);
    cache.put(607, 213);
    cache.put(964, 2998);
    assert.equal(cache.get(810), 2579);
    cache.put(1024, 1365);
    cache.put(131, 1230);
    cache.put(732, 1784);
    assert.equal(cache.get(1113), 656);
    assert.equal(cache.get(1012), 1063);
    assert.equal(cache.get(920), null);
    cache.put(1246, 2851);
    cache.put(191, 1349);
    cache.put(201, 2190);
    cache.put(187, 27);
    cache.put(1166, 697);
    cache.put(87, 257);
    cache.put(1382, 2599);
    assert.equal(cache.get(511), 2760);
    cache.put(735, 2206);
    assert.equal(cache.get(55), 1551);
    assert.equal(cache.get(1350), 220);
    cache.put(219, 1623);
    cache.put(1417, 1376);
    cache.put(987, 2036);
    cache.put(1329, 2932);
    cache.put(1386, 45);
    assert.equal(cache.get(987), 2036);
    cache.put(178, 1752);
    assert.equal(cache.get(479), null);
    cache.put(964, 1402);
    cache.put(1076, 2874);
    assert.equal(cache.get(69), 425);
    cache.put(970, 647);
    cache.put(1221, 202);
    cache.put(478, 1781);
    cache.put(247, 3296);
    assert.equal(cache.get(419), 1790);
    cache.put(631, 2185);
    assert.equal(cache.get(902), 1435);
    assert.equal(cache.get(812), 1847);
    assert.equal(cache.get(124), null);
    assert.equal(cache.get(554), null);
    assert.equal(cache.get(417), null);
    cache.put(999, 1515);
    cache.put(320, 530);
    assert.equal(cache.get(844), 2756);
    cache.put(1267, 2888);
    cache.put(865, 6);
    assert.equal(cache.get(1349), 122);
    cache.put(1239, 395);
    assert.equal(cache.get(1348), 3247);
    assert.equal(cache.get(72), null);
    cache.put(441, 1043);
    assert.equal(cache.get(720), 359);
    cache.put(1219, 3197);
    cache.put(523, 1686);
    assert.equal(cache.get(755), 2882);
    assert.equal(cache.get(1222), 456);
    assert.equal(cache.get(1430), 287);
    cache.put(279, 1019);
    cache.put(64, 2530);
    cache.put(1052, 556);
    cache.put(647, 817);
    assert.equal(cache.get(422), null);
    cache.put(1305, 770);
    assert.equal(cache.get(1155), null);
    assert.equal(cache.get(1099), 687);
    assert.equal(cache.get(1359), 721);
    assert.equal(cache.get(1327), null);
    assert.equal(cache.get(1366), 3100);
    cache.put(585, 2390);
    cache.put(313, 2956);
    assert.equal(cache.get(430), 1089);
    cache.put(109, 275);
    assert.equal(cache.get(188), 2477);
    cache.put(1347, 149);
    cache.put(86, 1617);
    assert.equal(cache.get(641), 37);
    cache.put(308, 208);
    cache.put(1252, 823);
    assert.equal(cache.get(965), 217);
    cache.put(401, 653);
    assert.equal(cache.get(301), 2115);
    cache.put(386, 3141);
    cache.put(294, 2131);
    assert.equal(cache.get(1183), 1861);
    cache.put(571, 2087);
    assert.equal(cache.get(40), 1045);
    cache.put(831, 2195);
    cache.put(86, 1551);
    cache.put(1215, 3297);
    cache.put(180, 2605);
    assert.equal(cache.get(384), null);
    cache.put(642, 62);
    assert.equal(cache.get(879), 3051);
    assert.equal(cache.get(979), 1051);
    cache.put(643, 904);
    assert.equal(cache.get(1423), 31);
    cache.put(573, 1694);
    assert.equal(cache.get(193), 1601);
    cache.put(1099, 2249);
    assert.equal(cache.get(1196), 1481);
    cache.put(1271, 2112);
    assert.equal(cache.get(1396), 473);
    assert.equal(cache.get(872), 2965);
    cache.put(1160, 2925);
    cache.put(700, 253);
    cache.put(150, 1880);
    cache.put(553, 3208);
    cache.put(831, 1856);
    cache.put(32, 1690);
    cache.put(363, 1660);
    cache.put(662, 1086);
    assert.equal(cache.get(558), null);
    cache.put(211, 3217);
    assert.equal(cache.get(456), 654);
    cache.put(479, 2342);
    assert.equal(cache.get(854), 353);
    assert.equal(cache.get(1225), 3168);
    assert.equal(cache.get(60), 2364);
    assert.equal(cache.get(916), 3041);
    cache.put(478, 2163);
    assert.equal(cache.get(1332), 741);
    assert.equal(cache.get(351), 2158);
    cache.put(956, 2222);
    cache.put(605, 1717);
    assert.equal(cache.get(873), 1185);
    assert.equal(cache.get(1326), null);
    cache.put(484, 2996);
    cache.put(1311, 709);
    assert.equal(cache.get(1102), 820);
    cache.put(147, 600);
    cache.put(152, 626);
    cache.put(735, 1600);
    cache.put(695, 1417);
    assert.equal(cache.get(421), 373);
    assert.equal(cache.get(205), 1659);
    assert.equal(cache.get(1111), 1997);
    cache.put(8, 3133);
    cache.put(1022, 3086);
    assert.equal(cache.get(496), 1320);
    cache.put(19, 1553);
    cache.put(831, 1628);
    cache.put(1383, 1636);
    cache.put(26, 2365);
    assert.equal(cache.get(1115), 1568);
    cache.put(1305, 1235);
    assert.equal(cache.get(607), 213);
    cache.put(678, 3289);
    cache.put(993, 1230);
    assert.equal(cache.get(1292), 2802);
    cache.put(1191, 661);
    assert.equal(cache.get(204), 2784);
    cache.put(1072, 2908);
    assert.equal(cache.get(1066), 575);
    cache.put(1181, 2743);
    assert.equal(cache.get(1099), 2249);
    assert.equal(cache.get(128), null);
    cache.put(1281, 5);
    assert.equal(cache.get(1316), 1345);
    assert.equal(cache.get(893), null);
    cache.put(687, 133);
    cache.put(464, 2046);
    cache.put(812, 694);
    cache.put(676, 990);
    cache.put(183, 2173);
    cache.put(418, 946);
    cache.put(932, 2930);
    cache.put(219, 1166);
    cache.put(970, 566);
    assert.equal(cache.get(291), null);
    cache.put(746, 2715);
    cache.put(1421, 2009);
    assert.equal(cache.get(1159), 2903);
    assert.equal(cache.get(1162), 2229);
    cache.put(443, 1778);
    cache.put(405, 1722);
    assert.equal(cache.get(372), 1175);
    cache.put(1416, 2230);
    cache.put(13, 1086);
    cache.put(1378, 643);
    assert.equal(cache.get(505), null);
    assert.equal(cache.get(488), 2593);
    cache.put(979, 3217);
    cache.put(347, 2532);
    cache.put(958, 2907);
    cache.put(940, 340);
    cache.put(1207, 2255);
    cache.put(559, 1555);
    assert.equal(cache.get(746), 2715);
    cache.put(813, 315);
    assert.equal(cache.get(625), 1917);
    cache.put(1268, 1081);
    cache.put(1122, 1505);
    assert.equal(cache.get(353), 56);
    cache.put(56, 1936);
    assert.equal(cache.get(1150), 867);
    cache.put(1386, 105);
    cache.put(1352, 2981);
    assert.equal(cache.get(1230), null);
    cache.put(586, 1619);
    cache.put(1074, 1605);
    assert.equal(cache.get(655), null);
    cache.put(1257, 1238);
    assert.equal(cache.get(986), null);
    assert.equal(cache.get(174), null);
    cache.put(1315, 1021);
    cache.put(926, 663);
    assert.equal(cache.get(1259), null);
    cache.put(543, 1798);
    cache.put(1209, 694);
    cache.put(717, 1754);
    assert.equal(cache.get(944), 2797);
    cache.put(625, 347);
    cache.put(1054, 3210);
    cache.put(826, 2596);
    assert.equal(cache.get(815), 351);
    cache.put(1082, 3295);
    cache.put(1186, 1267);
    cache.put(1006, 740);
    assert.equal(cache.get(846), 3194);
    cache.put(1024, 1853);
    cache.put(1135, 520);
    assert.equal(cache.get(109), 275);
    cache.put(453, 2115);
    cache.put(121, 2625);
    cache.put(675, 1742);
    assert.equal(cache.get(792), 1445);
    assert.equal(cache.get(1070), 1508);
    cache.put(838, 1795);
    cache.put(870, 718);
    assert.equal(cache.get(1337), 2359);
    cache.put(164, 19);
    cache.put(778, 56);
    assert.equal(cache.get(761), 104);
    assert.equal(cache.get(1409), 3040);
    assert.equal(cache.get(229), 2868);
    cache.put(679, 2702);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(917), 2357);
    cache.put(552, 1393);
    assert.equal(cache.get(1388), 2312);
    cache.put(63, 2021);
    cache.put(164, 372);
    cache.put(622, 2080);
    cache.put(1335, 118);
    cache.put(1014, 2677);
    cache.put(901, 2487);
    assert.equal(cache.get(845), 403);
    cache.put(1002, 246);
    assert.equal(cache.get(936), 53);
    cache.put(541, 2433);
    cache.put(1296, 282);
    cache.put(254, 2276);
    assert.equal(cache.get(1088), null);
    cache.put(417, 87);
    assert.equal(cache.get(432), 1692);
    cache.put(746, 2022);
    cache.put(1059, 542);
    assert.equal(cache.get(1195), 2931);
    assert.equal(cache.get(324), 2916);
    cache.put(1301, 1944);
    cache.put(1154, 2464);
    cache.put(689, 1457);
    assert.equal(cache.get(932), 2930);
    assert.equal(cache.get(54), 994);
    assert.equal(cache.get(52), 3099);
    assert.equal(cache.get(112), 566);
    cache.put(1240, 2436);
    cache.put(234, 2088);
    assert.equal(cache.get(1395), 1096);
    assert.equal(cache.get(1176), 1579);
    cache.put(301, 3173);
    assert.equal(cache.get(1022), 3086);
    cache.put(59, 692);
    cache.put(1356, 727);
    cache.put(122, 709);
    assert.equal(cache.get(1138), 3204);
    cache.put(38, 111);
    assert.equal(cache.get(1402), 1816);
    cache.put(27, 425);
    assert.equal(cache.get(1380), 1171);
    cache.put(953, 3009);
    assert.equal(cache.get(452), 140);
    cache.put(938, 96);
    assert.equal(cache.get(339), 131);
    assert.equal(cache.get(668), 1388);
    cache.put(1330, 1933);
    assert.equal(cache.get(1253), 2593);
    cache.put(998, 127);
    cache.put(1139, 883);
    cache.put(164, 274);
    cache.put(1036, 1945);
    assert.equal(cache.get(18), 2417);
    assert.equal(cache.get(815), 351);
    cache.put(1327, 1928);
    cache.put(365, 89);
    cache.put(772, 3197);
    cache.put(552, 545);
    assert.equal(cache.get(398), 2806);
    assert.equal(cache.get(54), 994);
    cache.put(146, 2445);
    assert.equal(cache.get(767), 3172);
    cache.put(493, 3113);
    assert.equal(cache.get(524), 855);
    assert.equal(cache.get(1074), 1605);
    assert.equal(cache.get(1304), 181);
    cache.put(545, 667);
    cache.put(836, 3299);
    cache.put(342, 3265);
    assert.equal(cache.get(1429), 1665);
    assert.equal(cache.get(1271), 2112);
    cache.put(1143, 840);
    assert.equal(cache.get(202), 1365);
    cache.put(611, 1689);
    cache.put(850, 335);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(807), 1166);
    assert.equal(cache.get(243), 1204);
    assert.equal(cache.get(504), null);
    assert.equal(cache.get(1107), 2957);
    assert.equal(cache.get(684), 1699);
    assert.equal(cache.get(607), 213);
    assert.equal(cache.get(515), 656);
    assert.equal(cache.get(995), 1273);
    cache.put(195, 2190);
    cache.put(26, 565);
    cache.put(719, 2142);
    cache.put(1122, 2326);
    cache.put(1400, 1028);
    cache.put(142, 486);
    cache.put(203, 1181);
    cache.put(939, 186);
    assert.equal(cache.get(41), 267);
    cache.put(113, 2438);
    cache.put(138, 750);
    assert.equal(cache.get(1007), 2228);
    assert.equal(cache.get(285), 1405);
    assert.equal(cache.get(212), 2822);
    assert.equal(cache.get(943), 2894);
    assert.equal(cache.get(492), 1111);
    cache.put(1342, 1475);
    cache.put(1313, 1394);
    assert.equal(cache.get(548), 1551);
    cache.put(828, 1027);
    cache.put(1390, 2929);
    cache.put(1023, 2914);
    assert.equal(cache.get(1024), 1853);
    assert.equal(cache.get(945), 1121);
    assert.equal(cache.get(171), 862);
    assert.equal(cache.get(1140), null);
    cache.put(817, 2039);
    cache.put(25, 2185);
    assert.equal(cache.get(276), null);
    cache.put(976, 2254);
    cache.put(138, 3030);
    cache.put(221, 271);
    assert.equal(cache.get(721), null);
    cache.put(23, 738);
    cache.put(392, 2088);
    assert.equal(cache.get(466), null);
    assert.equal(cache.get(1181), 2743);
    cache.put(574, 1601);
    cache.put(1354, 1318);
    assert.equal(cache.get(1235), 243);
    cache.put(182, 2085);
    cache.put(111, 2801);
    cache.put(137, 2159);
    assert.equal(cache.get(24), 767);
    assert.equal(cache.get(558), null);
    assert.equal(cache.get(814), 2874);
    assert.equal(cache.get(602), 2946);
    cache.put(1154, 1284);
    cache.put(403, 2147);
    cache.put(441, 1860);
    cache.put(536, 605);
    assert.equal(cache.get(819), null);
    assert.equal(cache.get(134), 902);
    cache.put(305, 782);
    cache.put(1291, 2869);
    cache.put(1407, 421);
    assert.equal(cache.get(664), null);
    assert.equal(cache.get(916), 3041);
    assert.equal(cache.get(521), null);
    assert.equal(cache.get(873), 1185);
    assert.equal(cache.get(725), null);
    cache.put(456, 2983);
    assert.equal(cache.get(868), 2803);
    cache.put(818, 284);
    assert.equal(cache.get(421), 373);
    assert.equal(cache.get(26), 565);
    cache.put(1259, 289);
    assert.equal(cache.get(557), 305);
    assert.equal(cache.get(503), null);
    cache.put(82, 1284);
    cache.put(853, 2847);
    assert.equal(cache.get(290), 2765);
    assert.equal(cache.get(584), 1421);
    cache.put(818, 50);
    assert.equal(cache.get(770), null);
    cache.put(666, 1015);
    assert.equal(cache.get(1430), 287);
    cache.put(1312, 2519);
    cache.put(1015, 138);
    assert.equal(cache.get(283), 2578);
    cache.put(29, 1607);
    cache.put(1358, 2511);
    assert.equal(cache.get(763), 1906);
    assert.equal(cache.get(344), 1634);
    cache.put(1065, 2481);
    assert.equal(cache.get(581), null);
    assert.equal(cache.get(37), 2556);
    assert.equal(cache.get(173), null);
    cache.put(199, 1888);
    cache.put(447, 2731);
    cache.put(1385, 765);
    cache.put(658, 569);
    assert.equal(cache.get(1186), 1267);
    cache.put(804, 1702);
    cache.put(212, 1993);
    cache.put(836, 2893);
    cache.put(647, 2564);
    cache.put(1007, 1981);
    cache.put(1314, 2143);
    cache.put(1099, 1813);
    cache.put(414, 786);
    cache.put(1130, 1069);
    assert.equal(cache.get(1387), null);
    cache.put(85, 3025);
    cache.put(596, 435);
    assert.equal(cache.get(644), 919);
    assert.equal(cache.get(1342), 1475);
    cache.put(785, 288);
    cache.put(1193, 2933);
    assert.equal(cache.get(849), null);
    cache.put(1005, 1739);
    assert.equal(cache.get(822), 2007);
    cache.put(1328, 2154);
    cache.put(443, 1414);
    cache.put(573, 2925);
    assert.equal(cache.get(153), 566);
    assert.equal(cache.get(1268), 1081);
    cache.put(180, 815);
    cache.put(654, 686);
    cache.put(672, 588);
    cache.put(1231, 2850);
    assert.equal(cache.get(542), null);
    assert.equal(cache.get(1173), null);
    cache.put(666, 2584);
    assert.equal(cache.get(1298), 652);
    assert.equal(cache.get(553), 3208);
    assert.equal(cache.get(717), 1754);
    cache.put(168, 592);
    cache.put(936, 2669);
    assert.equal(cache.get(782), 2467);
    cache.put(1364, 2102);
    cache.put(489, 802);
    assert.equal(cache.get(1389), null);
    assert.equal(cache.get(413), 211);
    assert.equal(cache.get(605), 1717);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(793), 3216);
    cache.put(627, 1659);
    cache.put(1088, 512);
    assert.equal(cache.get(328), 1205);
    cache.put(355, 893);
    assert.equal(cache.get(1373), null);
    assert.equal(cache.get(540), 1800);
    assert.equal(cache.get(715), 1393);
    cache.put(603, 1059);
    cache.put(1358, 640);
    assert.equal(cache.get(580), 176);
    assert.equal(cache.get(327), 853);
    cache.put(485, 915);
    cache.put(1242, 1206);
    cache.put(1048, 659);
    cache.put(402, 1766);
    assert.equal(cache.get(959), 1555);
    cache.put(1147, 690);
    assert.equal(cache.get(1177), 1734);
    cache.put(1120, 3253);
    cache.put(789, 229);
    cache.put(1250, 2139);
    cache.put(862, 255);
    cache.put(915, 776);
    cache.put(1237, 1764);
    assert.equal(cache.get(746), 2022);
    cache.put(340, 2074);
    assert.equal(cache.get(1415), 1234);
    cache.put(811, 1219);
    cache.put(27, 2701);
    assert.equal(cache.get(131), 1230);
    cache.put(952, 3197);
    cache.put(93, 2707);
    cache.put(87, 1845);
    cache.put(504, 2750);
    assert.equal(cache.get(838), 1795);
    assert.equal(cache.get(456), 2983);
    cache.put(1406, 247);
    cache.put(1057, 2628);
    cache.put(1337, 112);
    cache.put(282, 1093);
    cache.put(407, 1362);
    cache.put(1409, 493);
    assert.equal(cache.get(220), 283);
    assert.equal(cache.get(576), 2992);
    cache.put(1140, 719);
    assert.equal(cache.get(1196), 1481);
    cache.put(152, 1910);
    assert.equal(cache.get(788), 2861);
    cache.put(205, 2842);
    cache.put(1136, 2731);
    cache.put(1032, 2539);
    assert.equal(cache.get(604), null);
    cache.put(284, 782);
    assert.equal(cache.get(735), 1600);
    cache.put(232, 2797);
    assert.equal(cache.get(225), 3017);
    assert.equal(cache.get(516), 3132);
    assert.equal(cache.get(1170), 880);
    cache.put(83, 1909);
    cache.put(441, 2302);
    assert.equal(cache.get(1169), 658);
    assert.equal(cache.get(181), 2670);
    assert.equal(cache.get(289), null);
    assert.equal(cache.get(1361), 2206);
    cache.put(252, 2072);
    cache.put(600, 541);
    assert.equal(cache.get(1115), 1568);
    cache.put(1080, 360);
    cache.put(1223, 1863);
    cache.put(715, 1613);
    assert.equal(cache.get(313), 2956);
    cache.put(1307, 1392);
    assert.equal(cache.get(1128), 377);
    cache.put(1292, 1698);
    assert.equal(cache.get(898), 269);
    cache.put(364, 840);
    assert.equal(cache.get(31), 114);
    assert.equal(cache.get(269), 1485);
    cache.put(1302, 244);
    cache.put(1074, 2207);
    assert.equal(cache.get(660), null);
    cache.put(1241, 2074);
    assert.equal(cache.get(780), 1745);
    assert.equal(cache.get(142), 486);
    assert.equal(cache.get(1316), 1345);
    assert.equal(cache.get(146), 2445);
    cache.put(926, 1086);
    cache.put(1136, 3157);
    cache.put(785, 2569);
    assert.equal(cache.get(1220), 1505);
    assert.equal(cache.get(106), null);
    cache.put(1382, 1534);
    assert.equal(cache.get(65), null);
    assert.equal(cache.get(1278), null);
    cache.put(895, 695);
    cache.put(1267, 1128);
    cache.put(126, 1710);
    assert.equal(cache.get(926), 1086);
    assert.equal(cache.get(38), 111);
    cache.put(489, 139);
    cache.put(555, 926);
    cache.put(911, 928);
    cache.put(349, 1284);
    cache.put(1363, 1875);
    assert.equal(cache.get(1423), 31);
    cache.put(1190, 1227);
    cache.put(101, 736);
    cache.put(477, 2410);
    cache.put(1168, 626);
    assert.equal(cache.get(697), 588);
    cache.put(1209, 1751);
    assert.equal(cache.get(1103), 271);
    assert.equal(cache.get(734), 1014);
    assert.equal(cache.get(968), 2147);
    assert.equal(cache.get(918), 1074);
    cache.put(900, 1506);
    cache.put(820, 579);
    assert.equal(cache.get(567), null);
    cache.put(39, 3190);
    cache.put(1358, 352);
    assert.equal(cache.get(88), null);
    cache.put(735, 1229);
    cache.put(193, 820);
    assert.equal(cache.get(1142), null);
    cache.put(937, 3238);
    cache.put(1091, 1301);
    cache.put(1147, 873);
    cache.put(1246, 366);
    cache.put(1359, 40);
    assert.equal(cache.get(839), null);
    assert.equal(cache.get(1210), null);
    cache.put(1058, 878);
    cache.put(1404, 339);
    cache.put(125, 904);
    assert.equal(cache.get(402), 1766);
    assert.equal(cache.get(907), 122);
    cache.put(408, 3015);
    assert.equal(cache.get(1194), 2390);
    cache.put(306, 540);
    cache.put(658, 1997);
    assert.equal(cache.get(288), 1123);
    cache.put(482, 736);
    assert.equal(cache.get(193), 820);
    cache.put(1169, 645);
    cache.put(446, 740);
    assert.equal(cache.get(1095), 2681);
    assert.equal(cache.get(1215), 3297);
    cache.put(874, 788);
    assert.equal(cache.get(1387), null);
    cache.put(951, 3175);
    assert.equal(cache.get(368), null);
    cache.put(605, 1234);
    cache.put(718, 564);
    cache.put(912, 101);
    cache.put(730, 28);
    assert.equal(cache.get(1240), 2436);
    cache.put(582, 972);
    cache.put(278, 3259);
    cache.put(403, 1902);
    assert.equal(cache.get(398), 2806);
    cache.put(979, 1574);
    cache.put(375, 1770);
    cache.put(318, 584);
    cache.put(887, 3243);
    assert.equal(cache.get(979), 1574);
    assert.equal(cache.get(532), 1506);
    cache.put(832, 1836);
    cache.put(402, 1272);
    assert.equal(cache.get(424), 1502);
    assert.equal(cache.get(846), 3194);
    cache.put(1050, 2405);
    assert.equal(cache.get(1149), 497);
    assert.equal(cache.get(1081), 1137);
    assert.equal(cache.get(746), 2022);
    cache.put(605, 1679);
    assert.equal(cache.get(902), 1435);
    cache.put(802, 1455);
    cache.put(1142, 333);
    assert.equal(cache.get(1092), 3132);
    assert.equal(cache.get(620), 1097);
    cache.put(800, 2016);
    assert.equal(cache.get(253), 2366);
    assert.equal(cache.get(1214), 2912);
    assert.equal(cache.get(923), null);
    cache.put(1403, 1890);
    cache.put(563, 919);
    cache.put(110, 1794);
    cache.put(333, 3046);
    assert.equal(cache.get(1061), 183);
    assert.equal(cache.get(414), 786);
    cache.put(897, 2790);
    assert.equal(cache.get(372), 1175);
    assert.equal(cache.get(712), 757);
    assert.equal(cache.get(765), null);
    cache.put(286, 1254);
    cache.put(112, 74);
    cache.put(933, 1577);
    cache.put(820, 1062);
    cache.put(42, 1779);
    cache.put(1351, 1669);
    cache.put(1195, 104);
    cache.put(803, 307);
    assert.equal(cache.get(238), 1547);
    assert.equal(cache.get(1293), 1220);
    cache.put(21, 127);
    assert.equal(cache.get(106), null);
    cache.put(113, 1418);
    assert.equal(cache.get(193), 820);
    assert.equal(cache.get(1101), 46);
    cache.put(164, 1580);
    cache.put(1302, 895);
    assert.equal(cache.get(228), 2877);
    assert.equal(cache.get(600), 541);
    cache.put(1190, 2999);
    cache.put(681, 327);
    assert.equal(cache.get(420), null);
    cache.put(643, 826);
    cache.put(383, 1859);
    assert.equal(cache.get(338), null);
    cache.put(974, 407);
    cache.put(986, 536);
    cache.put(261, 3266);
    assert.equal(cache.get(792), 1445);
    assert.equal(cache.get(1320), 2803);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(1076), 2874);
    assert.equal(cache.get(1067), 3192);
    cache.put(197, 540);
    cache.put(259, 2727);
    assert.equal(cache.get(506), 1263);
    cache.put(223, 152);
    cache.put(1147, 880);
    cache.put(1206, 1654);
    assert.equal(cache.get(1320), 2803);
    assert.equal(cache.get(1030), 1671);
    assert.equal(cache.get(1415), 1234);
    cache.put(387, 2267);
    cache.put(866, 56);
    assert.equal(cache.get(484), 2996);
    cache.put(857, 1528);
    cache.put(650, 2430);
    cache.put(148, 60);
    assert.equal(cache.get(1114), null);
    assert.equal(cache.get(378), null);
    cache.put(750, 647);
    assert.equal(cache.get(488), 2593);
    assert.equal(cache.get(1318), 380);
    cache.put(932, 851);
    assert.equal(cache.get(1225), 3168);
    cache.put(1147, 2752);
    cache.put(1115, 1203);
    assert.equal(cache.get(1125), null);
    assert.equal(cache.get(285), 1405);
    assert.equal(cache.get(536), 605);
    cache.put(1042, 2167);
    cache.put(583, 1897);
    cache.put(1214, 2125);
    cache.put(352, 1236);
    cache.put(107, 756);
    cache.put(306, 1261);
    cache.put(240, 730);
    assert.equal(cache.get(1174), null);
    cache.put(26, 823);
    cache.put(979, 1863);
    assert.equal(cache.get(618), null);
    cache.put(1360, 1940);
    cache.put(792, 882);
    assert.equal(cache.get(837), 2152);
    assert.equal(cache.get(1109), 1957);
    cache.put(235, 1974);
    assert.equal(cache.get(826), 2596);
    cache.put(771, 1243);
    cache.put(1088, 1916);
    assert.equal(cache.get(1178), 1693);
    cache.put(879, 2987);
    cache.put(688, 1604);
    assert.equal(cache.get(845), 403);
    assert.equal(cache.get(1330), 1933);
    assert.equal(cache.get(583), 1897);
    assert.equal(cache.get(133), 2866);
    cache.put(1190, 672);
    assert.equal(cache.get(442), 2737);
    assert.equal(cache.get(201), 2190);
    cache.put(1368, 3253);
    assert.equal(cache.get(459), 1643);
    cache.put(721, 1258);
    cache.put(1093, 2329);
    assert.equal(cache.get(391), 1748);
    assert.equal(cache.get(588), 2189);
    assert.equal(cache.get(1070), 1508);
    assert.equal(cache.get(518), 2225);
    cache.put(1123, 817);
    assert.equal(cache.get(470), 2801);
    assert.equal(cache.get(748), 1845);
    assert.equal(cache.get(266), 126);
    cache.put(1209, 2618);
    cache.put(259, 3192);
    assert.equal(cache.get(131), 1230);
    cache.put(22, 2289);
    assert.equal(cache.get(98), null);
    cache.put(1248, 823);
    cache.put(1345, 2526);
    assert.equal(cache.get(1312), 2519);
    cache.put(1003, 1324);
    cache.put(1238, 633);
    cache.put(736, 2826);
    assert.equal(cache.get(662), 1086);
    cache.put(1369, 451);
    cache.put(240, 2514);
    cache.put(205, 1905);
    cache.put(747, 2060);
    assert.equal(cache.get(1165), 1705);
    cache.put(926, 839);
    assert.equal(cache.get(1183), 1861);
    cache.put(635, 3183);
    assert.equal(cache.get(655), null);
    cache.put(1060, 1068);
    cache.put(560, 369);
    assert.equal(cache.get(1159), 2903);
    assert.equal(cache.get(1079), 359);
    assert.equal(cache.get(356), 952);
    cache.put(473, 1802);
    cache.put(973, 448);
    assert.equal(cache.get(942), 3238);
    cache.put(390, 1930);
    cache.put(26, 1513);
    cache.put(227, 1982);
    cache.put(140, 2283);
    cache.put(502, 559);
    cache.put(1413, 58);
    cache.put(1266, 1316);
    cache.put(1280, 666);
    cache.put(824, 310);
    assert.equal(cache.get(983), 1077);
    cache.put(200, 2017);
    cache.put(540, 357);
    assert.equal(cache.get(311), 3019);
    assert.equal(cache.get(813), 315);
    assert.equal(cache.get(1230), null);
    assert.equal(cache.get(747), 2060);
    assert.equal(cache.get(1344), null);
    cache.put(302, 2006);
    cache.put(1346, 379);
    cache.put(578, 1219);
    assert.equal(cache.get(851), null);
    assert.equal(cache.get(319), null);
    cache.put(250, 216);
    cache.put(1339, 3296);
    cache.put(825, 2072);
    cache.put(1219, 3151);
    cache.put(256, 667);
    cache.put(132, 3006);
    cache.put(1113, 766);
    cache.put(460, 3219);
    cache.put(607, 109);
    assert.equal(cache.get(1357), null);
    cache.put(1209, 1317);
    cache.put(155, 402);
    cache.put(834, 1737);
    assert.equal(cache.get(1257), 1238);
    cache.put(341, 6);
    assert.equal(cache.get(928), 2829);
    assert.equal(cache.get(302), 2006);
    cache.put(526, 973);
    assert.equal(cache.get(76), 3021);
    assert.equal(cache.get(337), 459);
    assert.equal(cache.get(931), null);
    cache.put(1277, 1870);
    cache.put(235, 1750);
    assert.equal(cache.get(923), null);
    assert.equal(cache.get(1225), 3168);
    cache.put(471, 455);
    cache.put(933, 1157);
    cache.put(363, 1355);
    assert.equal(cache.get(697), 588);
    cache.put(1279, 1516);
    cache.put(1380, 1920);
    cache.put(1020, 1263);
    assert.equal(cache.get(1406), 247);
    assert.equal(cache.get(359), null);
    assert.equal(cache.get(311), 3019);
    assert.equal(cache.get(615), null);
    cache.put(1088, 1835);
    assert.equal(cache.get(234), 2088);
    cache.put(1033, 1381);
    cache.put(227, 1244);
    cache.put(551, 1774);
    cache.put(1268, 915);
    assert.equal(cache.get(823), null);
    cache.put(900, 2556);
    cache.put(843, 221);
    cache.put(116, 2246);
    assert.equal(cache.get(782), 2467);
    assert.equal(cache.get(158), null);
    cache.put(789, 1909);
    cache.put(893, 1185);
    cache.put(209, 246);
    cache.put(1181, 3117);
    assert.equal(cache.get(141), 3187);
    cache.put(1161, 2553);
    cache.put(585, 2099);
    assert.equal(cache.get(256), 667);
    cache.put(177, 3182);
    assert.equal(cache.get(786), null);
    cache.put(1207, 824);
    cache.put(1119, 2653);
    cache.put(405, 2730);
    cache.put(17, 1901);
    cache.put(374, 95);
    assert.equal(cache.get(658), 1997);
    assert.equal(cache.get(234), 2088);
    cache.put(829, 2149);
    cache.put(1034, 1931);
    assert.equal(cache.get(78), null);
    assert.equal(cache.get(968), 2147);
    cache.put(379, 2565);
    cache.put(374, 3191);
    cache.put(1175, 190);
    assert.equal(cache.get(1173), null);
    cache.put(105, 1993);
    assert.equal(cache.get(567), null);
    cache.put(887, 2963);
    cache.put(138, 2129);
    cache.put(272, 2382);
    cache.put(610, 1066);
    cache.put(839, 1956);
    cache.put(1388, 162);
    cache.put(993, 559);
    cache.put(150, 532);
    assert.equal(cache.get(84), 1024);
    cache.put(79, 2906);
    assert.equal(cache.get(800), 2016);
    cache.put(46, 3146);
    assert.equal(cache.get(302), 2006);
    cache.put(1266, 163);
    cache.put(1316, 337);
    assert.equal(cache.get(1319), null);
    cache.put(1117, 3143);
    cache.put(975, 439);
    cache.put(895, 1486);
    cache.put(716, 3183);
    assert.equal(cache.get(841), null);
    cache.put(962, 1537);
    assert.equal(cache.get(876), null);
    cache.put(908, 1743);
    cache.put(678, 1680);
    cache.put(472, 829);
    cache.put(1339, 1631);
    cache.put(951, 1767);
    cache.put(558, 400);
    cache.put(96, 441);
    cache.put(565, 1943);
    assert.equal(cache.get(1054), 3210);
    assert.equal(cache.get(457), 158);
    assert.equal(cache.get(189), 1558);
    cache.put(864, 3108);
    assert.equal(cache.get(1325), 417);
    assert.equal(cache.get(825), 2072);
    assert.equal(cache.get(261), 3266);
    assert.equal(cache.get(712), 757);
    cache.put(739, 1335);
    assert.equal(cache.get(606), null);
    cache.put(1173, 1232);
    assert.equal(cache.get(1055), 971);
    assert.equal(cache.get(1263), 1549);
    assert.equal(cache.get(429), 169);
    cache.put(1413, 1503);
    cache.put(1127, 3052);
    cache.put(766, 2478);
    cache.put(540, 510);
    cache.put(750, 240);
    assert.equal(cache.get(964), 1402);
    cache.put(1210, 2194);
    assert.equal(cache.get(1072), 2908);
    cache.put(12, 548);
    cache.put(1294, 1151);
    assert.equal(cache.get(548), 1551);
    assert.equal(cache.get(1109), 1957);
    assert.equal(cache.get(1427), 620);
    cache.put(827, 1828);
    cache.put(449, 2513);
    cache.put(1376, 2104);
    assert.equal(cache.get(1063), 1525);
    assert.equal(cache.get(513), null);
    assert.equal(cache.get(133), 2866);
    cache.put(194, 3105);
    assert.equal(cache.get(525), 2406);
    cache.put(1266, 2403);
    assert.equal(cache.get(356), 952);
    assert.equal(cache.get(78), null);
    cache.put(917, 1982);
    assert.equal(cache.get(212), 1993);
    assert.equal(cache.get(1175), 190);
    cache.put(668, 2577);
    assert.equal(cache.get(534), 1586);
    cache.put(986, 1528);
    assert.equal(cache.get(782), 2467);
    cache.put(461, 2133);
    cache.put(537, 948);
    assert.equal(cache.get(237), 830);
    assert.equal(cache.get(194), 3105);
    cache.put(1086, 2460);
    cache.put(327, 1103);
    cache.put(345, 2167);
    assert.equal(cache.get(372), 1175);
    assert.equal(cache.get(953), 3009);
    cache.put(989, 86);
    assert.equal(cache.get(1119), 2653);
    cache.put(906, 1961);
    cache.put(235, 1678);
    assert.equal(cache.get(671), null);
    assert.equal(cache.get(1073), 351);
    assert.equal(cache.get(105), 1993);
    cache.put(1015, 2381);
    assert.equal(cache.get(1270), 730);
    assert.equal(cache.get(701), 2707);
    cache.put(46, 265);
    assert.equal(cache.get(243), 1204);
    cache.put(14, 2095);
    assert.equal(cache.get(868), 2803);
    assert.equal(cache.get(46), 265);
    assert.equal(cache.get(1315), 1021);
    assert.equal(cache.get(149), 1725);
    cache.put(121, 717);
    cache.put(710, 383);
    cache.put(362, 3010);
    cache.put(595, 1447);
    assert.equal(cache.get(1293), 1220);
    cache.put(503, 2363);
    assert.equal(cache.get(733), null);
    cache.put(563, 2688);
    cache.put(1115, 2045);
    cache.put(1287, 1951);
    assert.equal(cache.get(1125), null);
    cache.put(1295, 2597);
    cache.put(39, 151);
    cache.put(355, 86);
    assert.equal(cache.get(250), 216);
    cache.put(1026, 2603);
    cache.put(290, 2728);
    cache.put(1297, 606);
    assert.equal(cache.get(888), 3040);
    cache.put(408, 2191);
    cache.put(993, 260);
    cache.put(26, 883);
    cache.put(352, 1338);
    cache.put(784, 904);
    assert.equal(cache.get(787), 1541);
    assert.equal(cache.get(527), null);
    cache.put(569, 2858);
    assert.equal(cache.get(1211), 2994);
    assert.equal(cache.get(801), 1217);
    cache.put(1089, 2004);
    assert.equal(cache.get(817), 2039);
    cache.put(801, 2199);
    cache.put(554, 1423);
    assert.equal(cache.get(1293), 1220);
    cache.put(942, 219);
    cache.put(906, 1623);
    assert.equal(cache.get(319), null);
    cache.put(1150, 1147);
    cache.put(354, 2896);
    assert.equal(cache.get(133), 2866);
    assert.equal(cache.get(1054), 3210);
    assert.equal(cache.get(293), null);
    cache.put(723, 1899);
    cache.put(462, 595);
    cache.put(797, 1674);
    assert.equal(cache.get(1236), null);
    assert.equal(cache.get(1047), 2536);
    cache.put(731, 27);
    assert.equal(cache.get(1223), 1863);
    cache.put(166, 1739);
    cache.put(1243, 966);
    cache.put(814, 461);
    assert.equal(cache.get(23), 738);
    assert.equal(cache.get(219), 1166);
    cache.put(575, 3282);
    cache.put(909, 2809);
    assert.equal(cache.get(878), 412);
    assert.equal(cache.get(1393), null);
    cache.put(274, 1210);
    cache.put(704, 673);
    cache.put(937, 2932);
    cache.put(836, 2315);
    assert.equal(cache.get(1103), 271);
    assert.equal(cache.get(1306), null);
    cache.put(99, 2292);
    assert.equal(cache.get(197), 540);
    cache.put(1259, 809);
    cache.put(1139, 2337);
    assert.equal(cache.get(1076), 2874);
    cache.put(292, 1849);
    assert.equal(cache.get(1092), 3132);
    assert.equal(cache.get(317), 2405);
    cache.put(1402, 659);
    cache.put(1074, 170);
    cache.put(812, 946);
    assert.equal(cache.get(364), 840);
    assert.equal(cache.get(1050), 2405);
    cache.put(471, 286);
    cache.put(1126, 1378);
    assert.equal(cache.get(951), 1767);
    assert.equal(cache.get(717), 1754);
    assert.equal(cache.get(1160), 2925);
    cache.put(1090, 2280);
    cache.put(1212, 515);
    cache.put(1377, 1358);
    cache.put(560, 940);
    cache.put(1064, 2937);
    cache.put(343, 2194);
    cache.put(947, 1100);
    assert.equal(cache.get(261), 3266);
    assert.equal(cache.get(767), 3172);
    cache.put(1321, 2386);
    assert.equal(cache.get(225), 3017);
    cache.put(756, 2362);
    cache.put(999, 1071);
    cache.put(241, 1120);
    cache.put(1232, 624);
    cache.put(1012, 458);
    assert.equal(cache.get(1128), 377);
    cache.put(1386, 2956);
    cache.put(549, 1144);
    cache.put(495, 1987);
    assert.equal(cache.get(513), null);
    cache.put(118, 2278);
    assert.equal(cache.get(920), null);
    assert.equal(cache.get(172), null);
    cache.put(315, 2246);
    assert.equal(cache.get(321), 2663);
    cache.put(61, 1696);
    cache.put(460, 1094);
    cache.put(26, 1921);
    assert.equal(cache.get(1123), 817);
    cache.put(306, 466);
    assert.equal(cache.get(836), 2315);
    cache.put(347, 1789);
    assert.equal(cache.get(525), 2406);
    assert.equal(cache.get(1199), 1732);
    assert.equal(cache.get(21), 127);
    cache.put(906, 2197);
    cache.put(7, 3251);
    assert.equal(cache.get(1109), 1957);
    assert.equal(cache.get(488), 2593);
    cache.put(445, 1971);
    assert.equal(cache.get(1248), 823);
    cache.put(350, 275);
    cache.put(504, 3133);
    assert.equal(cache.get(1224), null);
    cache.put(324, 2742);
    assert.equal(cache.get(191), 1349);
    assert.equal(cache.get(820), 1062);
    cache.put(407, 1259);
    cache.put(115, 1432);
    assert.equal(cache.get(992), 1729);
    assert.equal(cache.get(219), 1166);
    cache.put(236, 1190);
    cache.put(841, 1724);
    cache.put(807, 3197);
    assert.equal(cache.get(146), 2445);
    cache.put(355, 1747);
    assert.equal(cache.get(816), null);
    cache.put(926, 1082);
    assert.equal(cache.get(111), 2801);
    cache.put(168, 1494);
    cache.put(426, 3029);
    cache.put(256, 26);
    cache.put(1147, 3079);
    cache.put(1098, 1036);
    assert.equal(cache.get(134), 902);
    assert.equal(cache.get(1413), 1503);
    cache.put(1092, 1099);
    assert.equal(cache.get(947), 1100);
    assert.equal(cache.get(720), 359);
    assert.equal(cache.get(1309), null);
    cache.put(958, 519);
    cache.put(1227, 829);
    assert.equal(cache.get(204), 2784);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(1143), 840);
    cache.put(757, 2463);
    assert.equal(cache.get(710), 383);
    cache.put(864, 862);
    cache.put(733, 2920);
    cache.put(961, 2333);
    cache.put(708, 1677);
    assert.equal(cache.get(580), 176);
    cache.put(1138, 379);
    cache.put(345, 96);
    cache.put(164, 2361);
    cache.put(461, 2189);
    cache.put(724, 2808);
    cache.put(1350, 201);
    cache.put(445, 2483);
    assert.equal(cache.get(262), null);
    cache.put(1299, 2016);
    assert.equal(cache.get(727), 2730);
    cache.put(1048, 1604);
    cache.put(1278, 951);
    cache.put(390, 1092);
    cache.put(575, 583);
    assert.equal(cache.get(1282), 2453);
    assert.equal(cache.get(839), 1956);
    cache.put(908, 3063);
    cache.put(2, 1579);
    assert.equal(cache.get(1324), 3250);
    cache.put(404, 1509);
    assert.equal(cache.get(281), 3279);
    assert.equal(cache.get(1064), 2937);
    assert.equal(cache.get(575), 583);
    assert.equal(cache.get(1126), 1378);
    cache.put(922, 1966);
    cache.put(476, 357);
    cache.put(749, 3001);
    cache.put(819, 1715);
    assert.equal(cache.get(483), 2300);
    cache.put(36, 2648);
    cache.put(126, 1984);
    assert.equal(cache.get(1338), 2031);
    assert.equal(cache.get(1146), null);
    assert.equal(cache.get(742), null);
    assert.equal(cache.get(1247), null);
    cache.put(1323, 1385);
    assert.equal(cache.get(379), 2565);
    cache.put(1312, 2385);
    assert.equal(cache.get(1308), null);
    cache.put(6, 2663);
    cache.put(856, 2957);
    cache.put(121, 221);
    cache.put(513, 2887);
    assert.equal(cache.get(756), 2362);
    cache.put(224, 1917);
    cache.put(486, 1016);
    cache.put(268, 1084);
    cache.put(1204, 739);
    assert.equal(cache.get(1192), 3132);
    assert.equal(cache.get(776), 2299);
    assert.equal(cache.get(292), 1849);
    cache.put(371, 1254);
    assert.equal(cache.get(161), null);
    cache.put(950, 1824);
    assert.equal(cache.get(31), 114);
    assert.equal(cache.get(538), null);
    cache.put(1070, 3208);
    cache.put(1293, 3186);
    assert.equal(cache.get(50), null);
    cache.put(88, 2287);
    cache.put(422, 710);
    assert.equal(cache.get(1393), null);
    cache.put(524, 2129);
    assert.equal(cache.get(271), 1870);
    cache.put(971, 1745);
    assert.equal(cache.get(1231), 2850);
    assert.equal(cache.get(1363), 1875);
    cache.put(375, 3066);
    assert.equal(cache.get(866), 56);
    cache.put(319, 1173);
    cache.put(64, 632);
    cache.put(968, 2107);
    cache.put(447, 1944);
    cache.put(749, 2942);
    cache.put(1252, 1688);
    assert.equal(cache.get(465), 755);
    assert.equal(cache.get(122), 709);
    cache.put(1373, 207);
    cache.put(600, 2907);
    cache.put(947, 11);
    assert.equal(cache.get(1213), null);
    assert.equal(cache.get(1095), 2681);
    assert.equal(cache.get(403), 1902);
    assert.equal(cache.get(1217), 1177);
    cache.put(434, 965);
    assert.equal(cache.get(862), 255);
    assert.equal(cache.get(1388), 162);
    assert.equal(cache.get(1318), 380);
    cache.put(1072, 1770);
    cache.put(938, 2999);
    assert.equal(cache.get(1150), 1147);
    assert.equal(cache.get(1196), 1481);
    assert.equal(cache.get(596), 435);
    cache.put(1039, 2197);
    assert.equal(cache.get(163), null);
    cache.put(926, 634);
    cache.put(664, 587);
    cache.put(1147, 2875);
    cache.put(829, 60);
    cache.put(410, 3122);
    cache.put(168, 2910);
    cache.put(893, 2941);
    assert.equal(cache.get(1029), null);
    cache.put(584, 1387);
    cache.put(96, 103);
    assert.equal(cache.get(133), 2866);
    assert.equal(cache.get(790), null);
    assert.equal(cache.get(1184), null);
    assert.equal(cache.get(821), 3085);
    assert.equal(cache.get(1014), 2677);
    cache.put(965, 489);
    assert.equal(cache.get(137), 2159);
    assert.equal(cache.get(1123), 817);
    cache.put(838, 971);
    cache.put(763, 2952);
    cache.put(328, 1377);
    cache.put(433, 2741);
    assert.equal(cache.get(568), null);
    cache.put(498, 1493);
    assert.equal(cache.get(394), null);
    assert.equal(cache.get(1253), 2593);
    cache.put(1425, 159);
    cache.put(1203, 3146);
    cache.put(1137, 1279);
    cache.put(571, 81);
    assert.equal(cache.get(1007), 1981);
    assert.equal(cache.get(1030), 1671);
    cache.put(739, 2140);
    cache.put(749, 1128);
    cache.put(1070, 1096);
    assert.equal(cache.get(1250), 2139);
    assert.equal(cache.get(1230), null);
    assert.equal(cache.get(968), 2107);
    assert.equal(cache.get(240), 2514);
    assert.equal(cache.get(1048), 1604);
    assert.equal(cache.get(115), 1432);
    cache.put(352, 1092);
    cache.put(98, 2656);
    cache.put(672, 2757);
    assert.equal(cache.get(326), 2769);
    cache.put(1054, 3260);
    cache.put(161, 2328);
    cache.put(1088, 1547);
    assert.equal(cache.get(182), 2085);
    cache.put(322, 1018);
    assert.equal(cache.get(385), null);
    cache.put(1193, 1512);
    assert.equal(cache.get(581), null);
    cache.put(619, 3255);
    cache.put(1400, 2408);
    cache.put(592, 2864);
    cache.put(466, 1035);
    cache.put(1336, 2970);
    cache.put(43, 1797);
    assert.equal(cache.get(1097), 1426);
    cache.put(1248, 1606);
    assert.equal(cache.get(261), 3266);
    cache.put(722, 635);
    assert.equal(cache.get(532), 1506);
    cache.put(1398, 258);
    cache.put(994, 1149);
    cache.put(1216, 2582);
    assert.equal(cache.get(100), 1903);
    cache.put(1122, 2458);
    cache.put(526, 444);
    assert.equal(cache.get(354), 2896);
    cache.put(1002, 1638);
    cache.put(604, 1457);
    cache.put(1298, 857);
    cache.put(1346, 3105);
    cache.put(848, 1417);
    assert.equal(cache.get(628), null);
    cache.put(948, 1926);
    cache.put(1143, 608);
    cache.put(920, 2982);
    cache.put(486, 3237);
    cache.put(183, 1269);
    assert.equal(cache.get(869), 763);
    cache.put(741, 3023);
    cache.put(1107, 2391);
    cache.put(834, 319);
    assert.equal(cache.get(1278), 951);
    cache.put(1072, 1997);
    cache.put(1283, 2909);
    assert.equal(cache.get(667), null);
    cache.put(1052, 767);
    assert.equal(cache.get(702), null);
    assert.equal(cache.get(1335), 118);
    assert.equal(cache.get(227), 1244);
    assert.equal(cache.get(965), 489);
    cache.put(170, 1490);
    cache.put(630, 2432);
    assert.equal(cache.get(593), null);
    assert.equal(cache.get(1398), 258);
    cache.put(1065, 3096);
    cache.put(1163, 2605);
    cache.put(119, 1472);
    assert.equal(cache.get(344), 1634);
    cache.put(1009, 2342);
    assert.equal(cache.get(5), null);
    assert.equal(cache.get(394), null);
    cache.put(688, 2146);
    cache.put(488, 2820);
    assert.equal(cache.get(810), 2579);
    cache.put(1046, 355);
    cache.put(143, 1304);
    assert.equal(cache.get(748), 1845);
    cache.put(276, 2681);
    assert.equal(cache.get(1352), 2981);
    assert.equal(cache.get(102), 1513);
    cache.put(43, 1152);
    cache.put(1143, 1180);
    assert.equal(cache.get(345), 96);
    assert.equal(cache.get(67), 1579);
    cache.put(543, 2127);
    cache.put(448, 3007);
    cache.put(1113, 2194);
    assert.equal(cache.get(488), 2820);
    assert.equal(cache.get(567), null);
    cache.put(831, 874);
    cache.put(1154, 720);
    assert.equal(cache.get(982), 2041);
    cache.put(1152, 2015);
    cache.put(47, 257);
    cache.put(1163, 1699);
    cache.put(1074, 2498);
    cache.put(1252, 2170);
    assert.equal(cache.get(1361), 2206);
    cache.put(412, 2078);
    cache.put(45, 406);
    cache.put(1218, 421);
    assert.equal(cache.get(567), null);
    cache.put(256, 140);
    assert.equal(cache.get(45), 406);
    assert.equal(cache.get(1162), 2229);
    assert.equal(cache.get(679), 2702);
    cache.put(422, 1590);
    cache.put(282, 2600);
    assert.equal(cache.get(519), 3247);
    cache.put(231, 1675);
    assert.equal(cache.get(1007), 1981);
    assert.equal(cache.get(1347), 149);
    assert.equal(cache.get(382), 103);
    cache.put(1160, 1966);
    assert.equal(cache.get(1198), null);
    cache.put(352, 2721);
    assert.equal(cache.get(1201), null);
    cache.put(501, 1268);
    cache.put(1333, 3151);
    assert.equal(cache.get(256), 140);
    cache.put(13, 2476);
    assert.equal(cache.get(300), null);
    cache.put(957, 2051);
    assert.equal(cache.get(792), 882);
    assert.equal(cache.get(1164), null);
    assert.equal(cache.get(1370), null);
    assert.equal(cache.get(64), 632);
    assert.equal(cache.get(366), null);
    cache.put(323, 108);
    cache.put(951, 411);
    cache.put(413, 2087);
    assert.equal(cache.get(983), 1077);
    cache.put(502, 3263);
    assert.equal(cache.get(1302), 895);
    assert.equal(cache.get(852), 2882);
    cache.put(882, 2044);
    cache.put(316, 2777);
    assert.equal(cache.get(822), 2007);
    assert.equal(cache.get(154), 1219);
    assert.equal(cache.get(673), null);
    cache.put(524, 468);
    assert.equal(cache.get(1191), 661);
    assert.equal(cache.get(518), 2225);
    cache.put(879, 444);
    assert.equal(cache.get(521), null);
    assert.equal(cache.get(985), null);
    assert.equal(cache.get(602), 2946);
    assert.equal(cache.get(232), 2797);
    assert.equal(cache.get(853), 2847);
    cache.put(206, 520);
    cache.put(715, 2852);
    assert.equal(cache.get(410), 3122);
    assert.equal(cache.get(396), null);
    cache.put(626, 736);
    cache.put(1428, 1042);
    cache.put(396, 2278);
    assert.equal(cache.get(860), null);
    cache.put(505, 1992);
    assert.equal(cache.get(1094), null);
    cache.put(1386, 2097);
    cache.put(1092, 801);
    cache.put(273, 2238);
    assert.equal(cache.get(116), 2246);
    cache.put(324, 1455);
    assert.equal(cache.get(1264), 2629);
    cache.put(178, 65);
    assert.equal(cache.get(82), 1284);
    cache.put(914, 423);
    cache.put(9, 2408);
    assert.equal(cache.get(569), 2858);
    assert.equal(cache.get(882), 2044);
    assert.equal(cache.get(846), 3194);
    assert.equal(cache.get(483), 2300);
    cache.put(401, 434);
    cache.put(702, 2505);
    assert.equal(cache.get(437), 2652);
    assert.equal(cache.get(572), null);
    cache.put(278, 1484);
    cache.put(683, 1635);
    assert.equal(cache.get(1273), null);
    cache.put(926, 1800);
    assert.equal(cache.get(726), null);
    cache.put(705, 404);
    cache.put(618, 2781);
    cache.put(149, 1032);
    cache.put(875, 483);
    cache.put(871, 2735);
    assert.equal(cache.get(582), 972);
    cache.put(1316, 1492);
    cache.put(1387, 1336);
    assert.equal(cache.get(907), 122);
    assert.equal(cache.get(1110), 1047);
    cache.put(267, 3223);
    cache.put(250, 3275);
    cache.put(650, 545);
    assert.equal(cache.get(913), 454);
    cache.put(456, 1928);
    cache.put(216, 660);
    cache.put(200, 2380);
    assert.equal(cache.get(927), 127);
    assert.equal(cache.get(373), 2930);
    cache.put(1181, 1145);
    assert.equal(cache.get(1055), 971);
    cache.put(971, 1939);
    assert.equal(cache.get(644), 919);
    cache.put(392, 467);
    cache.put(930, 41);
    assert.equal(cache.get(552), 545);
    assert.equal(cache.get(1055), 971);
    cache.put(448, 668);
    assert.equal(cache.get(556), 298);
    cache.put(700, 1962);
    cache.put(251, 3167);
    assert.equal(cache.get(1346), 3105);
    assert.equal(cache.get(404), 1509);
    cache.put(181, 676);
    cache.put(843, 772);
    assert.equal(cache.get(736), 2826);
    cache.put(743, 711);
    assert.equal(cache.get(1153), 1992);
    cache.put(318, 546);
    assert.equal(cache.get(1352), 2981);
    cache.put(70, 3071);
    cache.put(662, 1198);
    assert.equal(cache.get(82), 1284);
    assert.equal(cache.get(1228), null);
    cache.put(1377, 130);
    assert.equal(cache.get(661), 2324);
    assert.equal(cache.get(341), 6);
    assert.equal(cache.get(202), 1365);
    cache.put(1207, 3164);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(1186), 1267);
    cache.put(618, 1103);
    cache.put(876, 1200);
    cache.put(356, 1868);
    assert.equal(cache.get(1023), 2914);
    cache.put(717, 2769);
    cache.put(1176, 1616);
    cache.put(1404, 122);
    cache.put(837, 1534);
    assert.equal(cache.get(659), 279);
    cache.put(715, 3);
    assert.equal(cache.get(299), null);
    cache.put(702, 2894);
    assert.equal(cache.get(17), 1901);
    cache.put(447, 256);
    cache.put(502, 2369);
    assert.equal(cache.get(136), null);
    assert.equal(cache.get(565), 1943);
    assert.equal(cache.get(262), null);
    assert.equal(cache.get(88), 2287);
    cache.put(452, 1224);
    assert.equal(cache.get(956), 2222);
    cache.put(452, 3271);
    cache.put(619, 1244);
    cache.put(1082, 425);
    cache.put(435, 1564);
    assert.equal(cache.get(887), 2963);
    assert.equal(cache.get(304), 902);
    cache.put(446, 1511);
    assert.equal(cache.get(259), 3192);
    cache.put(702, 1124);
    assert.equal(cache.get(322), 1018);
    assert.equal(cache.get(1199), 1732);
    cache.put(239, 1148);
    cache.put(1421, 3101);
    cache.put(1367, 68);
    cache.put(399, 2754);
    assert.equal(cache.get(16), null);
    cache.put(867, 868);
    assert.equal(cache.get(97), null);
    assert.equal(cache.get(310), null);
    cache.put(1281, 1136);
    assert.equal(cache.get(1427), 620);
    cache.put(499, 1087);
    cache.put(123, 3252);
    cache.put(423, 68);
    cache.put(112, 349);
    cache.put(104, 1283);
    assert.equal(cache.get(626), 736);
    cache.put(1398, 1195);
    cache.put(448, 2351);
    assert.equal(cache.get(277), 2935);
    cache.put(1018, 835);
    cache.put(559, 60);
    cache.put(117, 1667);
    assert.equal(cache.get(164), 2361);
    cache.put(323, 2678);
    assert.equal(cache.get(866), 56);
    assert.equal(cache.get(142), 486);
    cache.put(371, 938);
    assert.equal(cache.get(1231), 2850);
    assert.equal(cache.get(1041), null);
    cache.put(720, 403);
    cache.put(1205, 154);
    cache.put(779, 2561);
    assert.equal(cache.get(347), 1789);
    assert.equal(cache.get(632), null);
    cache.put(858, 3261);
    cache.put(1055, 1782);
    assert.equal(cache.get(846), 3194);
    assert.equal(cache.get(1179), 1225);
    assert.equal(cache.get(691), 1301);
    assert.equal(cache.get(260), null);
    cache.put(908, 1993);
    assert.equal(cache.get(1128), 377);
    assert.equal(cache.get(83), 1909);
    assert.equal(cache.get(1086), 2460);
    assert.equal(cache.get(741), 3023);
    assert.equal(cache.get(641), 37);
    cache.put(884, 1020);
    cache.put(134, 1060);
    assert.equal(cache.get(552), 545);
    cache.put(845, 2891);
    assert.equal(cache.get(45), 406);
    assert.equal(cache.get(684), 1699);
    cache.put(244, 1398);
    cache.put(922, 2514);
    assert.equal(cache.get(1077), 1030);
    cache.put(594, 828);
    assert.equal(cache.get(584), 1387);
    assert.equal(cache.get(368), null);
    cache.put(424, 391);
    cache.put(47, 1057);
    assert.equal(cache.get(329), 1025);
    cache.put(505, 1639);
    cache.put(114, 96);
    cache.put(1070, 2527);
    cache.put(111, 2234);
    assert.equal(cache.get(533), null);
    cache.put(1216, 1540);
    assert.equal(cache.get(1250), 2139);
    assert.equal(cache.get(1134), null);
    cache.put(486, 3040);
    assert.equal(cache.get(587), null);
    cache.put(1102, 1925);
    assert.equal(cache.get(321), 2663);
    assert.equal(cache.get(596), 435);
    assert.equal(cache.get(1358), 352);
    cache.put(1279, 269);
    cache.put(1284, 704);
    cache.put(696, 2495);
    cache.put(679, 2383);
    cache.put(411, 343);
    assert.equal(cache.get(381), null);
    cache.put(46, 2558);
    cache.put(961, 2547);
    assert.equal(cache.get(1147), 2875);
    assert.equal(cache.get(741), 3023);
    cache.put(630, 3052);
    cache.put(680, 1115);
    cache.put(100, 2);
    cache.put(765, 842);
    cache.put(571, 2426);
    assert.equal(cache.get(626), 736);
    assert.equal(cache.get(534), 1586);
    assert.equal(cache.get(972), null);
    assert.equal(cache.get(1208), null);
    assert.equal(cache.get(1181), 1145);
    cache.put(633, 1611);
    cache.put(801, 3114);
    cache.put(55, 1201);
    assert.equal(cache.get(1299), 2016);
    assert.equal(cache.get(1012), 458);
    assert.equal(cache.get(1295), 2597);
    assert.equal(cache.get(380), 3142);
    assert.equal(cache.get(1261), 1490);
    assert.equal(cache.get(552), 545);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(300), null);
    cache.put(914, 2361);
    cache.put(10, 1806);
    cache.put(350, 2627);
    assert.equal(cache.get(1177), 1734);
    cache.put(1164, 338);
    assert.equal(cache.get(42), null);
    cache.put(141, 2128);
    assert.equal(cache.get(1153), 1992);
    assert.equal(cache.get(695), 1417);
    assert.equal(cache.get(693), 2762);
    cache.put(1268, 3002);
    cache.put(1059, 614);
    cache.put(1053, 1707);
    cache.put(1410, 504);
    assert.equal(cache.get(1238), 633);
    cache.put(949, 461);
    assert.equal(cache.get(440), 39);
    assert.equal(cache.get(1325), 417);
    assert.equal(cache.get(1136), 3157);
    cache.put(838, 3156);
    assert.equal(cache.get(494), 2659);
    cache.put(85, 263);
    cache.put(1411, 1550);
    cache.put(445, 592);
    cache.put(824, 491);
    assert.equal(cache.get(541), 2433);
    cache.put(541, 420);
    cache.put(841, 2463);
    assert.equal(cache.get(328), 1377);
    cache.put(301, 2801);
    cache.put(810, 1737);
    cache.put(491, 820);
    cache.put(1139, 1526);
    assert.equal(cache.get(1113), 2194);
    cache.put(705, 3127);
    cache.put(381, 2480);
    cache.put(75, 2998);
    cache.put(17, 1072);
    assert.equal(cache.get(369), null);
    cache.put(1243, 2299);
    assert.equal(cache.get(902), 1435);
    cache.put(1186, 2673);
    cache.put(710, 413);
    assert.equal(cache.get(799), null);
    assert.equal(cache.get(732), null);
    assert.equal(cache.get(547), 2502);
    cache.put(590, 1038);
    assert.equal(cache.get(140), 2283);
    cache.put(1252, 1907);
    assert.equal(cache.get(1166), 697);
    cache.put(691, 2500);
    cache.put(1339, 1557);
    cache.put(491, 2243);
    assert.equal(cache.get(314), 2955);
    assert.equal(cache.get(397), 57);
    cache.put(1143, 2247);
    cache.put(1378, 2304);
    cache.put(240, 2148);
    cache.put(923, 820);
    assert.equal(cache.get(200), 2380);
    assert.equal(cache.get(534), 1586);
    assert.equal(cache.get(29), 1607);
    cache.put(261, 2154);
    cache.put(1334, 1027);
    cache.put(725, 2503);
    cache.put(103, 1853);
    assert.equal(cache.get(288), 1123);
    assert.equal(cache.get(554), 1423);
    cache.put(495, 2011);
    assert.equal(cache.get(31), 114);
    assert.equal(cache.get(285), 1405);
    cache.put(112, 2273);
    cache.put(206, 359);
    assert.equal(cache.get(1359), 40);
    assert.equal(cache.get(1231), 2850);
    assert.equal(cache.get(1312), 2385);
    cache.put(530, 2511);
    assert.equal(cache.get(897), 2790);
    cache.put(1269, 1887);
    cache.put(951, 1678);
    assert.equal(cache.get(1348), 3247);
    cache.put(1284, 3142);
    cache.put(926, 623);
    cache.put(677, 3007);
    assert.equal(cache.get(1211), 2994);
    cache.put(1337, 1162);
    cache.put(1359, 482);
    assert.equal(cache.get(608), null);
    assert.equal(cache.get(1367), 68);
    cache.put(941, 2979);
    assert.equal(cache.get(367), 2898);
    assert.equal(cache.get(1223), 1863);
    assert.equal(cache.get(1027), null);
    cache.put(1312, 2057);
    assert.equal(cache.get(536), 605);
    cache.put(386, 3240);
    cache.put(115, 917);
    cache.put(574, 2561);
    assert.equal(cache.get(296), 2076);
    assert.equal(cache.get(1385), 765);
    cache.put(1128, 1002);
    assert.equal(cache.get(1088), 1547);
    cache.put(1004, 2401);
    cache.put(970, 1431);
    cache.put(503, 1012);
    assert.equal(cache.get(413), 2087);
    cache.put(83, 871);
    cache.put(648, 242);
    cache.put(3, 803);
    cache.put(1250, 982);
    cache.put(1304, 2484);
    cache.put(1343, 2940);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(1320), 2803);
    assert.equal(cache.get(920), 2982);
    cache.put(441, 1336);
    cache.put(761, 942);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(634), null);
    assert.equal(cache.get(313), 2956);
    assert.equal(cache.get(683), 1635);
    cache.put(669, 1968);
    assert.equal(cache.get(839), 1956);
    assert.equal(cache.get(1250), 982);
    cache.put(1022, 2635);
    assert.equal(cache.get(219), 1166);
    assert.equal(cache.get(384), null);
    assert.equal(cache.get(224), 1917);
    cache.put(856, 1190);
    assert.equal(cache.get(472), 829);
    assert.equal(cache.get(639), 173);
    cache.put(241, 512);
    cache.put(869, 1436);
    cache.put(589, 223);
    cache.put(288, 531);
    assert.equal(cache.get(37), 2556);
    assert.equal(cache.get(660), null);
    assert.equal(cache.get(138), 2129);
    cache.put(116, 2064);
    assert.equal(cache.get(777), 1749);
    cache.put(179, 521);
    assert.equal(cache.get(1249), 761);
    cache.put(840, 1048);
    cache.put(757, 521);
    cache.put(952, 1869);
    assert.equal(cache.get(1326), null);
    assert.equal(cache.get(705), 3127);
    cache.put(450, 945);
    cache.put(587, 355);
    assert.equal(cache.get(440), 39);
    cache.put(1077, 2068);
    assert.equal(cache.get(375), 3066);
    assert.equal(cache.get(427), null);
    cache.put(1269, 3254);
    cache.put(257, 3301);
    assert.equal(cache.get(900), 2556);
    assert.equal(cache.get(542), null);
    cache.put(1232, 518);
    assert.equal(cache.get(1073), 351);
    assert.equal(cache.get(38), 111);
    assert.equal(cache.get(806), 2123);
    assert.equal(cache.get(511), 2760);
    cache.put(421, 1617);
    assert.equal(cache.get(938), 2999);
    assert.equal(cache.get(985), null);
    assert.equal(cache.get(670), 2516);
    assert.equal(cache.get(424), 391);
    assert.equal(cache.get(540), 510);
    cache.put(316, 445);
    cache.put(141, 524);
    assert.equal(cache.get(32), 1690);
    cache.put(953, 1227);
    cache.put(27, 2760);
    cache.put(153, 1581);
    cache.put(583, 1100);
    cache.put(1374, 1348);
    assert.equal(cache.get(577), null);
    cache.put(1057, 2855);
    cache.put(428, 1472);
    cache.put(624, 2835);
    cache.put(843, 22);
    assert.equal(cache.get(537), 948);
    cache.put(784, 766);
    cache.put(936, 1087);
    cache.put(232, 2569);
    cache.put(149, 1493);
    cache.put(565, 2327);
    cache.put(327, 1593);
    cache.put(1300, 1868);
    cache.put(54, 569);
    assert.equal(cache.get(739), 2140);
    assert.equal(cache.get(640), 2250);
    cache.put(426, 715);
    cache.put(1297, 2214);
    cache.put(1305, 708);
    assert.equal(cache.get(1122), 2458);
    assert.equal(cache.get(256), 140);
    cache.put(224, 1108);
    assert.equal(cache.get(493), 3113);
    assert.equal(cache.get(638), 2036);
    assert.equal(cache.get(205), 1905);
    cache.put(759, 444);
    assert.equal(cache.get(1004), 2401);
    assert.equal(cache.get(347), 1789);
    cache.put(1013, 2773);
    cache.put(964, 2375);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(1136), 3157);
    cache.put(670, 2973);
    cache.put(893, 411);
    assert.equal(cache.get(69), 425);
    assert.equal(cache.get(532), 1506);
    cache.put(564, 210);
    cache.put(1056, 2031);
    assert.equal(cache.get(1346), 3105);
    assert.equal(cache.get(59), 692);
    assert.equal(cache.get(927), 127);
    assert.equal(cache.get(206), 359);
    cache.put(172, 193);
    assert.equal(cache.get(1396), 473);
    assert.equal(cache.get(915), null);
    cache.put(889, 1024);
    cache.put(69, 2397);
    assert.equal(cache.get(31), 114);
    assert.equal(cache.get(55), 1201);
    cache.put(785, 2444);
    cache.put(1093, 950);
    assert.equal(cache.get(629), 755);
    assert.equal(cache.get(1240), 2436);
    cache.put(592, 1628);
    cache.put(1337, 1965);
    assert.equal(cache.get(714), 1618);
    cache.put(934, 2913);
    cache.put(1007, 2907);
    cache.put(429, 2380);
    cache.put(784, 3211);
    assert.equal(cache.get(877), 3093);
    cache.put(329, 2028);
    assert.equal(cache.get(1385), 765);
    cache.put(1250, 128);
    cache.put(264, 897);
    cache.put(1076, 47);
    assert.equal(cache.get(251), 3167);
    assert.equal(cache.get(442), 2737);
    cache.put(389, 1222);
    cache.put(1042, 2795);
    assert.equal(cache.get(1238), 633);
    cache.put(907, 2663);
    cache.put(804, 73);
    cache.put(1251, 2509);
    assert.equal(cache.get(1082), 425);
    assert.equal(cache.get(372), 1175);
    cache.put(165, 2390);
    cache.put(1232, 3184);
    cache.put(855, 212);
    cache.put(52, 1183);
    cache.put(928, 1798);
    assert.equal(cache.get(204), 2784);
    cache.put(1357, 1966);
    cache.put(1360, 1041);
    cache.put(964, 1103);
    assert.equal(cache.get(988), null);
    assert.equal(cache.get(410), 3122);
    cache.put(968, 2463);
    assert.equal(cache.get(1002), 1638);
    cache.put(1418, 1886);
    cache.put(413, 3070);
    assert.equal(cache.get(193), 820);
    assert.equal(cache.get(256), 140);
    cache.put(270, 679);
    assert.equal(cache.get(1188), 1949);
    assert.equal(cache.get(1145), 1309);
    cache.put(16, 191);
    assert.equal(cache.get(576), 2992);
    cache.put(1154, 2598);
    cache.put(1068, 1785);
    assert.equal(cache.get(1154), 2598);
    assert.equal(cache.get(868), 2803);
    assert.equal(cache.get(995), 1273);
    cache.put(675, 20);
    assert.equal(cache.get(646), null);
    cache.put(1395, 561);
    assert.equal(cache.get(1273), null);
    assert.equal(cache.get(550), 3077);
    assert.equal(cache.get(525), 2406);
    cache.put(1371, 2454);
    assert.equal(cache.get(1305), 708);
    cache.put(553, 2461);
    cache.put(1389, 1564);
    cache.put(152, 2080);
    cache.put(649, 1895);
    cache.put(113, 1610);
    cache.put(242, 2495);
    cache.put(1077, 1952);
    cache.put(182, 2595);
    assert.equal(cache.get(475), null);
    cache.put(458, 105);
    assert.equal(cache.get(890), null);
    assert.equal(cache.get(488), 2820);
    cache.put(651, 1282);
    cache.put(1096, 2277);
    assert.equal(cache.get(245), 505);
    assert.equal(cache.get(559), 60);
    cache.put(221, 1936);
    cache.put(977, 177);
    cache.put(541, 2196);
    cache.put(653, 2954);
    cache.put(1188, 3298);
    assert.equal(cache.get(507), 1189);
    assert.equal(cache.get(421), 1617);
    assert.equal(cache.get(337), 459);
    assert.equal(cache.get(32), 1690);
    assert.equal(cache.get(293), null);
    cache.put(689, 2211);
    cache.put(207, 3068);
    cache.put(252, 190);
    assert.equal(cache.get(1288), 143);
    assert.equal(cache.get(710), 413);
    cache.put(954, 2552);
    assert.equal(cache.get(943), 2894);
    cache.put(712, 661);
    assert.equal(cache.get(248), 3134);
    assert.equal(cache.get(490), null);
    cache.put(552, 585);
    assert.equal(cache.get(1009), 2342);
    assert.equal(cache.get(795), null);
    cache.put(65, 2717);
    cache.put(1422, 442);
    assert.equal(cache.get(163), null);
    cache.put(357, 905);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(374), 3191);
    cache.put(1426, 631);
    assert.equal(cache.get(830), 22);
    cache.put(95, 2723);
    cache.put(1224, 3059);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(1120), 3253);
    assert.equal(cache.get(846), 3194);
    cache.put(1284, 888);
    assert.equal(cache.get(391), 1748);
    assert.equal(cache.get(733), null);
    assert.equal(cache.get(297), 2671);
    cache.put(606, 1819);
    cache.put(117, 630);
    assert.equal(cache.get(908), 1993);
    cache.put(244, 797);
    cache.put(508, 1448);
    cache.put(806, 2909);
    assert.equal(cache.get(1109), 1957);
    cache.put(98, 812);
    cache.put(979, 3201);
    assert.equal(cache.get(1248), 1606);
    assert.equal(cache.get(1400), 2408);
    cache.put(1341, 15);
    cache.put(109, 2682);
    cache.put(416, 1051);
    cache.put(556, 2751);
    assert.equal(cache.get(1017), null);
    cache.put(561, 2406);
    cache.put(909, 2023);
    cache.put(288, 31);
    cache.put(478, 1264);
    cache.put(652, 1262);
    assert.equal(cache.get(717), 2769);
    assert.equal(cache.get(888), 3040);
    assert.equal(cache.get(425), 1193);
    assert.equal(cache.get(578), 1219);
    cache.put(573, 1746);
    assert.equal(cache.get(818), 50);
    assert.equal(cache.get(414), 786);
    assert.equal(cache.get(556), 2751);
    cache.put(1240, 2333);
    assert.equal(cache.get(299), null);
    cache.put(45, 87);
    cache.put(1211, 1195);
    assert.equal(cache.get(834), 319);
    cache.put(114, 2470);
    assert.equal(cache.get(473), 1802);
    assert.equal(cache.get(738), null);
    assert.equal(cache.get(749), 1128);
    assert.equal(cache.get(756), 2362);
    assert.equal(cache.get(128), null);
    assert.equal(cache.get(655), null);
    assert.equal(cache.get(25), 2185);
    cache.put(293, 1981);
    cache.put(569, 886);
    assert.equal(cache.get(315), null);
    cache.put(327, 566);
    assert.equal(cache.get(1205), 154);
    cache.put(894, 1877);
    assert.equal(cache.get(142), 486);
    assert.equal(cache.get(1056), 2031);
    assert.equal(cache.get(1002), 1638);
    assert.equal(cache.get(550), 3077);
    assert.equal(cache.get(825), 2072);
    assert.equal(cache.get(696), 2495);
    assert.equal(cache.get(490), null);
    assert.equal(cache.get(149), 1493);
    cache.put(841, 3040);
    assert.equal(cache.get(705), 3127);
    assert.equal(cache.get(1058), 878);
    cache.put(162, 2051);
    cache.put(936, 3214);
    assert.equal(cache.get(667), null);
    cache.put(1292, 2286);
    cache.put(598, 1924);
    cache.put(1245, 256);
    cache.put(159, 1959);
    cache.put(1332, 1309);
    cache.put(344, 1555);
    cache.put(506, 1947);
    cache.put(495, 2203);
    cache.put(954, 1929);
    assert.equal(cache.get(185), 2930);
    assert.equal(cache.get(1095), 2681);
    assert.equal(cache.get(481), 2329);
    cache.put(1048, 2419);
    assert.equal(cache.get(703), 677);
    cache.put(1007, 1395);
    cache.put(1241, 288);
    assert.equal(cache.get(1297), 2214);
    cache.put(327, 2076);
    assert.equal(cache.get(285), 1405);
    cache.put(1234, 46);
    cache.put(223, 1803);
    cache.put(524, 1715);
    assert.equal(cache.get(464), 2046);
    assert.equal(cache.get(582), 972);
    cache.put(544, 2095);
    cache.put(158, 1175);
    assert.equal(cache.get(1246), 366);
    cache.put(485, 2238);
    assert.equal(cache.get(856), 1190);
    cache.put(1110, 1134);
    assert.equal(cache.get(945), 1121);
    cache.put(1224, 2932);
    cache.put(377, 1012);
    cache.put(920, 1505);
    cache.put(536, 2299);
    assert.equal(cache.get(396), 2278);
    assert.equal(cache.get(90), 605);
    cache.put(879, 163);
    cache.put(988, 2921);
    assert.equal(cache.get(451), 1396);
    cache.put(1237, 1305);
    assert.equal(cache.get(1100), null);
    cache.put(510, 2760);
    cache.put(467, 2665);
    assert.equal(cache.get(1235), 243);
    assert.equal(cache.get(57), 1356);
    cache.put(1182, 1296);
    assert.equal(cache.get(492), 1111);
    cache.put(114, 500);
    assert.equal(cache.get(211), 3217);
    cache.put(231, 2691);
    assert.equal(cache.get(332), 37);
    cache.put(1039, 70);
    cache.put(630, 1752);
    assert.equal(cache.get(1143), 2247);
    cache.put(582, 2762);
    assert.equal(cache.get(505), 1639);
    cache.put(250, 2376);
    assert.equal(cache.get(1272), 3151);
    cache.put(618, 876);
    cache.put(534, 2208);
    assert.equal(cache.get(636), null);
    assert.equal(cache.get(249), 1547);
    cache.put(1031, 842);
    assert.equal(cache.get(441), 1336);
    cache.put(489, 624);
    assert.equal(cache.get(166), null);
    cache.put(473, 1243);
    cache.put(524, 2028);
    cache.put(218, 2801);
    cache.put(1355, 2801);
    cache.put(1173, 600);
    cache.put(976, 561);
    cache.put(628, 979);
    cache.put(1193, 2945);
    assert.equal(cache.get(360), null);
    cache.put(362, 613);
    assert.equal(cache.get(874), null);
    assert.equal(cache.get(1254), 2928);
    cache.put(1396, 2475);
    cache.put(30, 404);
    assert.equal(cache.get(532), 1506);
    assert.equal(cache.get(174), null);
    cache.put(1249, 735);
    assert.equal(cache.get(603), 1059);
    assert.equal(cache.get(105), 1993);
    assert.equal(cache.get(1196), 1481);
    cache.put(1031, 2978);
    cache.put(1126, 3021);
    cache.put(130, 1904);
    cache.put(1208, 2947);
    cache.put(125, 2220);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(1296), 282);
    cache.put(1392, 1937);
    cache.put(245, 955);
    cache.put(622, 2626);
    assert.equal(cache.get(547), 2502);
    cache.put(548, 1667);
    cache.put(1098, 1819);
    assert.equal(cache.get(648), 242);
    cache.put(950, 1010);
    assert.equal(cache.get(713), null);
    cache.put(964, 1093);
    assert.equal(cache.get(1313), 1394);
    assert.equal(cache.get(928), 1798);
    cache.put(142, 1708);
    cache.put(755, 593);
    assert.equal(cache.get(1000), 2617);
    cache.put(1299, 2401);
    assert.equal(cache.get(1379), 1276);
    cache.put(640, 3230);
    cache.put(306, 508);
    assert.equal(cache.get(1186), 2673);
    cache.put(498, 44);
    cache.put(272, 1481);
    assert.equal(cache.get(1106), 2760);
    assert.equal(cache.get(1081), 1137);
    cache.put(104, 2757);
    cache.put(1039, 898);
    cache.put(967, 3278);
    cache.put(645, 1030);
    cache.put(124, 151);
    cache.put(898, 1040);
    cache.put(709, 874);
    assert.equal(cache.get(807), 3197);
    cache.put(38, 1462);
    cache.put(731, 2513);
    cache.put(1175, 2548);
    cache.put(267, 677);
    cache.put(960, 138);
    cache.put(427, 595);
    assert.equal(cache.get(805), null);
    cache.put(1388, 2578);
    assert.equal(cache.get(977), 177);
    cache.put(763, 2471);
    cache.put(598, 786);
    cache.put(375, 1345);
    cache.put(156, 3117);
    cache.put(255, 2845);
    assert.equal(cache.get(267), 677);
    assert.equal(cache.get(633), 1611);
    assert.equal(cache.get(439), 1631);
    cache.put(374, 555);
    cache.put(350, 2728);
    assert.equal(cache.get(350), 2728);
    cache.put(183, 2642);
    assert.equal(cache.get(46), 2558);
    assert.equal(cache.get(14), 2095);
    assert.equal(cache.get(1087), 996);
    cache.put(724, 1227);
    assert.equal(cache.get(1084), 578);
    cache.put(1178, 1204);
    cache.put(605, 3221);
    cache.put(806, 195);
    cache.put(848, 3011);
    assert.equal(cache.get(976), 561);
    cache.put(74, 2371);
    cache.put(392, 798);
    assert.equal(cache.get(963), 739);
    cache.put(835, 2248);
    assert.equal(cache.get(189), 1558);
    cache.put(208, 330);
    assert.equal(cache.get(1050), 2405);
    cache.put(448, 422);
    cache.put(794, 608);
    cache.put(986, 3270);
    assert.equal(cache.get(1250), 128);
    cache.put(1128, 1129);
    cache.put(1358, 2682);
    cache.put(1250, 2243);
    assert.equal(cache.get(352), 2721);
    cache.put(339, 311);
    cache.put(1098, 1015);
    assert.equal(cache.get(361), null);
    assert.equal(cache.get(230), 2742);
    cache.put(809, 2376);
    assert.equal(cache.get(223), 1803);
    cache.put(1019, 1695);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(91), 2456);
    assert.equal(cache.get(711), 1136);
    cache.put(805, 1423);
    cache.put(760, 480);
    assert.equal(cache.get(671), null);
    cache.put(705, 549);
    cache.put(1287, 3164);
    cache.put(1297, 1382);
    cache.put(1279, 1012);
    cache.put(1425, 616);
    cache.put(100, 1814);
    cache.put(1106, 14);
    cache.put(141, 2181);
    cache.put(1208, 413);
    cache.put(296, 2086);
    cache.put(34, 2086);
    assert.equal(cache.get(743), 711);
    cache.put(1222, 1773);
    cache.put(104, 479);
    assert.equal(cache.get(1164), null);
    assert.equal(cache.get(778), null);
    cache.put(1333, 2846);
    cache.put(140, 1244);
    assert.equal(cache.get(206), 359);
    assert.equal(cache.get(1399), 528);
    cache.put(1365, 441);
    cache.put(487, 1056);
    cache.put(1222, 2361);
    assert.equal(cache.get(153), 1581);
    cache.put(313, 552);
    cache.put(738, 1195);
    cache.put(1062, 1760);
    assert.equal(cache.get(1398), 1195);
    assert.equal(cache.get(690), 463);
    cache.put(86, 2542);
    assert.equal(cache.get(667), null);
    cache.put(194, 614);
    assert.equal(cache.get(259), 3192);
    cache.put(835, 1586);
    cache.put(390, 2224);
    cache.put(265, 610);
    cache.put(1111, 657);
    cache.put(223, 2015);
    assert.equal(cache.get(309), 2944);
    cache.put(1285, 830);
    cache.put(1057, 1601);
    assert.equal(cache.get(364), 840);
    assert.equal(cache.get(505), 1639);
    cache.put(678, 3083);
    cache.put(1423, 760);
    cache.put(527, 33);
    cache.put(1210, 176);
    cache.put(1107, 1304);
    assert.equal(cache.get(620), 1097);
    assert.equal(cache.get(1412), null);
    cache.put(1337, 1800);
    assert.equal(cache.get(1296), 282);
    cache.put(336, 1702);
    assert.equal(cache.get(605), 3221);
    assert.equal(cache.get(576), 2992);
    cache.put(1359, 2553);
    assert.equal(cache.get(429), 2380);
    cache.put(928, 2142);
    cache.put(405, 1517);
    cache.put(79, 2079);
    cache.put(589, 1290);
    cache.put(630, 969);
    assert.equal(cache.get(422), 1590);
    assert.equal(cache.get(1104), null);
    assert.equal(cache.get(1063), 1525);
    cache.put(1189, 1035);
    assert.equal(cache.get(1026), null);
    assert.equal(cache.get(1367), 68);
    assert.equal(cache.get(103), 1853);
    cache.put(118, 1116);
    cache.put(13, 1120);
    assert.equal(cache.get(1300), 1868);
    assert.equal(cache.get(749), 1128);
    assert.equal(cache.get(115), 917);
    cache.put(612, 2692);
    cache.put(1202, 1192);
    assert.equal(cache.get(1163), 1699);
    assert.equal(cache.get(851), null);
    assert.equal(cache.get(412), 2078);
    assert.equal(cache.get(583), 1100);
    cache.put(1145, 2415);
    assert.equal(cache.get(1149), 497);
    cache.put(149, 2764);
    assert.equal(cache.get(258), 358);
    cache.put(391, 1880);
    cache.put(1273, 3262);
    assert.equal(cache.get(331), 1076);
    assert.equal(cache.get(314), 2955);
    assert.equal(cache.get(433), null);
    assert.equal(cache.get(352), 2721);
    assert.equal(cache.get(421), 1617);
    assert.equal(cache.get(454), 1457);
    assert.equal(cache.get(301), 2801);
    assert.equal(cache.get(497), null);
    cache.put(1167, 189);
    assert.equal(cache.get(1087), 996);
    cache.put(286, 1789);
    cache.put(659, 2845);
    assert.equal(cache.get(407), 1259);
    assert.equal(cache.get(327), 2076);
    assert.equal(cache.get(1217), 1177);
    assert.equal(cache.get(1091), null);
    cache.put(47, 737);
    cache.put(1038, 1942);
    cache.put(423, 3273);
    cache.put(670, 2537);
    assert.equal(cache.get(1054), 3260);
    assert.equal(cache.get(807), 3197);
    cache.put(930, 1244);
    cache.put(1109, 2654);
    cache.put(921, 2639);
    cache.put(730, 1590);
    assert.equal(cache.get(553), 2461);
    cache.put(29, 2697);
    assert.equal(cache.get(1036), null);
    cache.put(1332, 715);
    assert.equal(cache.get(1209), 1317);
    assert.equal(cache.get(255), 2845);
    assert.equal(cache.get(1187), 449);
    assert.equal(cache.get(1111), 657);
    assert.equal(cache.get(407), 1259);
    assert.equal(cache.get(487), 1056);
    assert.equal(cache.get(406), 236);
    cache.put(582, 1621);
    cache.put(1286, 2626);
    cache.put(21, 1357);
    cache.put(1189, 2299);
    assert.equal(cache.get(564), null);
    assert.equal(cache.get(1398), 1195);
    assert.equal(cache.get(548), 1667);
    cache.put(133, 1027);
    cache.put(971, 734);
    assert.equal(cache.get(732), null);
    cache.put(957, 2896);
    cache.put(679, 2361);
    cache.put(885, 703);
    assert.equal(cache.get(1295), 2597);
    cache.put(1333, 3289);
    cache.put(586, 3115);
    cache.put(124, 2056);
    assert.equal(cache.get(1080), 360);
    cache.put(189, 2144);
    cache.put(813, 1399);
    cache.put(1222, 2202);
    cache.put(694, 658);
    cache.put(1237, 1708);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(1194), 2390);
    cache.put(1116, 2346);
    assert.equal(cache.get(1311), 709);
    cache.put(1104, 2624);
    cache.put(1289, 3046);
    cache.put(1155, 310);
    cache.put(396, 968);
    assert.equal(cache.get(346), 387);
    cache.put(655, 1297);
    cache.put(782, 1370);
    assert.equal(cache.get(38), 1462);
    assert.equal(cache.get(531), 84);
    assert.equal(cache.get(657), 1343);
    cache.put(1196, 1958);
    cache.put(1074, 375);
    cache.put(59, 941);
    assert.equal(cache.get(985), null);
    cache.put(578, 3057);
    assert.equal(cache.get(774), 2476);
    assert.equal(cache.get(1086), 2460);
    cache.put(66, 1221);
    assert.equal(cache.get(650), 545);
    cache.put(299, 1554);
    assert.equal(cache.get(875), 483);
    cache.put(736, 1478);
    cache.put(1172, 1286);
    cache.put(536, 465);
    assert.equal(cache.get(1200), null);
    cache.put(1074, 2314);
    assert.equal(cache.get(964), 1093);
    cache.put(1003, 1488);
    cache.put(1278, 2336);
    assert.equal(cache.get(1049), 2005);
    cache.put(628, 1975);
    cache.put(50, 2846);
    cache.put(155, 3165);
    cache.put(8, 488);
    cache.put(574, 2699);
    cache.put(400, 786);
    cache.put(15, 45);
    assert.equal(cache.get(459), 1643);
    assert.equal(cache.get(298), null);
    assert.equal(cache.get(225), 3017);
    cache.put(1092, 2970);
    assert.equal(cache.get(269), 1485);
    assert.equal(cache.get(1364), 2102);
    assert.equal(cache.get(1048), 2419);
    assert.equal(cache.get(118), 1116);
    assert.equal(cache.get(403), 1902);
    cache.put(1185, 1882);
    assert.equal(cache.get(441), 1336);
    cache.put(146, 654);
    assert.equal(cache.get(528), null);
    assert.equal(cache.get(995), 1273);
    assert.equal(cache.get(125), 2220);
    cache.put(380, 1130);
    assert.equal(cache.get(337), 459);
    assert.equal(cache.get(617), 1882);
    cache.put(332, 125);
    assert.equal(cache.get(570), 1290);
    cache.put(1265, 231);
    cache.put(1023, 2925);
    cache.put(44, 3022);
    cache.put(1347, 2485);
    cache.put(475, 2545);
    cache.put(1198, 164);
    assert.equal(cache.get(1309), null);
    cache.put(1007, 3006);
    assert.equal(cache.get(1297), 1382);
    cache.put(660, 2830);
    cache.put(542, 714);
    assert.equal(cache.get(1025), null);
    cache.put(1235, 1835);
    cache.put(1320, 1259);
    assert.equal(cache.get(1250), 2243);
    cache.put(294, 1508);
    cache.put(418, 1751);
    assert.equal(cache.get(535), 1544);
    assert.equal(cache.get(812), 946);
    cache.put(908, 1693);
    cache.put(759, 2896);
    assert.equal(cache.get(366), null);
    cache.put(1379, 2658);
    cache.put(877, 2852);
    cache.put(924, 1707);
    assert.equal(cache.get(958), 519);
    assert.equal(cache.get(820), 1062);
    cache.put(780, 1385);
    cache.put(946, 2908);
    cache.put(422, 297);
    cache.put(1038, 2041);
    cache.put(842, 1430);
    assert.equal(cache.get(943), 2894);
    cache.put(1220, 1626);
    cache.put(1176, 2536);
    cache.put(1417, 1745);
    cache.put(711, 289);
    cache.put(766, 1178);
    cache.put(53, 2960);
    cache.put(705, 2712);
    assert.equal(cache.get(143), null);
    cache.put(492, 96);
    cache.put(744, 1579);
    cache.put(1114, 1148);
    cache.put(190, 951);
    cache.put(923, 2217);
    assert.equal(cache.get(1411), null);
    cache.put(84, 1029);
    cache.put(1263, 3117);
    cache.put(948, 132);
    cache.put(1206, 3176);
    cache.put(726, 888);
    assert.equal(cache.get(817), 2039);
    cache.put(636, 2106);
    cache.put(1127, 848);
    cache.put(885, 1930);
    cache.put(515, 2598);
    cache.put(1008, 627);
    assert.equal(cache.get(388), null);
    assert.equal(cache.get(916), 3041);
    cache.put(554, 2478);
    cache.put(79, 647);
    assert.equal(cache.get(801), 3114);
    cache.put(527, 511);
    cache.put(550, 2819);
    cache.put(669, 771);
    cache.put(1400, 3164);
    assert.equal(cache.get(1080), 360);
    assert.equal(cache.get(365), 89);
    assert.equal(cache.get(674), 2882);
    assert.equal(cache.get(389), 1222);
    assert.equal(cache.get(574), 2699);
    cache.put(227, 1240);
    cache.put(1299, 1598);
    assert.equal(cache.get(126), 1984);
    cache.put(1286, 914);
    cache.put(1130, 618);
    cache.put(166, 1136);
    assert.equal(cache.get(948), 132);
    cache.put(311, 824);
    assert.equal(cache.get(1), 1417);
    cache.put(1068, 885);
    assert.equal(cache.get(693), 2762);
    assert.equal(cache.get(47), 737);
    assert.equal(cache.get(1183), 1861);
    cache.put(509, 978);
    cache.put(93, 119);
    assert.equal(cache.get(534), 2208);
    cache.put(1305, 429);
    cache.put(799, 3012);
    cache.put(243, 803);
    assert.equal(cache.get(802), 1455);
    cache.put(323, 1265);
    cache.put(258, 2963);
    cache.put(249, 2374);
    assert.equal(cache.get(1253), 2593);
    assert.equal(cache.get(1269), 3254);
    assert.equal(cache.get(331), 1076);
    cache.put(326, 2445);
    assert.equal(cache.get(653), null);
    cache.put(163, 1945);
    cache.put(595, 2316);
    cache.put(1080, 1565);
    assert.equal(cache.get(142), 1708);
    cache.put(898, 3138);
    cache.put(1174, 2556);
    assert.equal(cache.get(279), 1019);
    cache.put(1153, 977);
    cache.put(420, 1059);
    assert.equal(cache.get(896), 495);
    assert.equal(cache.get(113), 1610);
    assert.equal(cache.get(508), null);
    assert.equal(cache.get(325), 3012);
    assert.equal(cache.get(1117), 3143);
    cache.put(1342, 1585);
    cache.put(1123, 2751);
    assert.equal(cache.get(525), 2406);
    assert.equal(cache.get(331), 1076);
    assert.equal(cache.get(479), null);
    assert.equal(cache.get(1037), null);
    cache.put(571, 367);
    cache.put(301, 2755);
    assert.equal(cache.get(993), 260);
    assert.equal(cache.get(476), null);
    cache.put(1219, 2860);
    cache.put(991, 9);
    assert.equal(cache.get(127), 3152);
    cache.put(285, 2609);
    cache.put(450, 644);
    cache.put(177, 907);
    cache.put(368, 1362);
    assert.equal(cache.get(160), 928);
    cache.put(699, 2879);
    cache.put(690, 2237);
    cache.put(960, 1899);
    cache.put(87, 2690);
    cache.put(91, 185);
    cache.put(527, 1508);
    cache.put(1343, 1378);
    assert.equal(cache.get(233), null);
    cache.put(1313, 217);
    cache.put(6, 3252);
    cache.put(433, 425);
    cache.put(1418, 701);
    cache.put(106, 525);
    cache.put(177, 2230);
    assert.equal(cache.get(373), 2930);
    cache.put(1221, 1826);
    cache.put(834, 2799);
    cache.put(1029, 1706);
    assert.equal(cache.get(95), null);
    assert.equal(cache.get(1277), 1870);
    cache.put(621, 5);
    cache.put(884, 250);
    cache.put(1313, 2234);
    cache.put(619, 3303);
    assert.equal(cache.get(29), 2697);
    cache.put(1312, 1733);
    cache.put(911, 1451);
    cache.put(1243, 2199);
    assert.equal(cache.get(538), null);
    cache.put(590, 2188);
    cache.put(1272, 514);
    cache.put(172, 2655);
    assert.equal(cache.get(1298), 857);
    cache.put(406, 1813);
    assert.equal(cache.get(893), 411);
    assert.equal(cache.get(482), 736);
    cache.put(427, 1767);
    cache.put(275, 2652);
    assert.equal(cache.get(900), 2556);
    cache.put(853, 1802);
    assert.equal(cache.get(554), 2478);
    assert.equal(cache.get(275), 2652);
    assert.equal(cache.get(1376), null);
    cache.put(267, 2281);
    assert.equal(cache.get(111), 2234);
    assert.equal(cache.get(598), 786);
    cache.put(365, 1911);
    cache.put(376, 829);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(1112), null);
    assert.equal(cache.get(967), null);
    assert.equal(cache.get(103), 1853);
    assert.equal(cache.get(529), 2030);
    cache.put(1296, 2518);
    assert.equal(cache.get(1105), 2935);
    cache.put(1218, 2971);
    assert.equal(cache.get(1046), 355);
    cache.put(459, 1712);
    cache.put(1127, 2488);
    assert.equal(cache.get(197), 540);
    cache.put(1160, 48);
    assert.equal(cache.get(1142), null);
    cache.put(783, 2955);
    cache.put(672, 1281);
    cache.put(1102, 2122);
    cache.put(1398, 245);
    assert.equal(cache.get(1015), 2381);
    assert.equal(cache.get(606), null);
    cache.put(603, 2200);
    cache.put(8, 1395);
    assert.equal(cache.get(1405), 669);
    cache.put(881, 1159);
    assert.equal(cache.get(1179), 1225);
    assert.equal(cache.get(921), 2639);
    cache.put(1373, 3006);
    assert.equal(cache.get(1413), 1503);
    cache.put(1070, 1430);
    cache.put(791, 1894);
    assert.equal(cache.get(1421), 3101);
    assert.equal(cache.get(1035), null);
    cache.put(277, 2107);
    assert.equal(cache.get(837), 1534);
    assert.equal(cache.get(193), 820);
    cache.put(473, 3084);
    cache.put(1335, 3192);
    assert.equal(cache.get(18), 2417);
    cache.put(1430, 1378);
    cache.put(894, 3233);
    cache.put(903, 2535);
    assert.equal(cache.get(573), 1746);
    assert.equal(cache.get(797), 1674);
    cache.put(656, 2580);
    assert.equal(cache.get(853), 1802);
    assert.equal(cache.get(605), 3221);
    assert.equal(cache.get(312), null);
    cache.put(930, 2780);
    cache.put(325, 1430);
    cache.put(924, 936);
    cache.put(241, 2087);
    cache.put(502, 2084);
    assert.equal(cache.get(478), 1264);
    cache.put(546, 2920);
    assert.equal(cache.get(989), 86);
    cache.put(82, 889);
    cache.put(471, 427);
    assert.equal(cache.get(1026), null);
    assert.equal(cache.get(422), 297);
    assert.equal(cache.get(759), 2896);
    cache.put(1336, 579);
    cache.put(211, 2147);
    assert.equal(cache.get(1390), 2929);
    cache.put(549, 1382);
    assert.equal(cache.get(165), null);
    cache.put(1382, 375);
    assert.equal(cache.get(436), null);
    assert.equal(cache.get(879), 163);
    cache.put(1333, 456);
    assert.equal(cache.get(135), 2872);
    assert.equal(cache.get(1342), 1585);
    cache.put(1169, 1860);
    assert.equal(cache.get(624), 2835);
    assert.equal(cache.get(1393), null);
    cache.put(530, 2373);
    assert.equal(cache.get(721), null);
    assert.equal(cache.get(1385), 765);
    cache.put(611, 1372);
    cache.put(776, 465);
    cache.put(1224, 2265);
    assert.equal(cache.get(504), 3133);
    cache.put(874, 914);
    assert.equal(cache.get(981), null);
    cache.put(1006, 2584);
    cache.put(1127, 928);
    cache.put(1157, 861);
    assert.equal(cache.get(766), 1178);
    cache.put(1294, 1903);
    assert.equal(cache.get(46), 2558);
    cache.put(1417, 327);
    cache.put(928, 204);
    cache.put(1270, 2146);
    assert.equal(cache.get(1182), null);
    cache.put(1330, 440);
    assert.equal(cache.get(846), 3194);
    cache.put(1378, 2022);
    assert.equal(cache.get(833), 1580);
    cache.put(173, 2081);
    cache.put(1167, 1590);
    assert.equal(cache.get(1029), 1706);
    cache.put(1191, 1926);
    cache.put(150, 347);
    cache.put(759, 172);
    cache.put(1427, 1707);
    cache.put(988, 2645);
    cache.put(753, 2328);
    cache.put(1365, 1709);
    cache.put(229, 2822);
    assert.equal(cache.get(695), 1417);
    assert.equal(cache.get(68), 114);
    cache.put(1132, 2395);
    assert.equal(cache.get(66), 1221);
    assert.equal(cache.get(1117), 3143);
    assert.equal(cache.get(7), 3251);
    assert.equal(cache.get(1261), 1490);
    cache.put(1113, 2111);
    assert.equal(cache.get(856), 1190);
    cache.put(63, 2630);
    cache.put(1255, 654);
    assert.equal(cache.get(109), 2682);
    assert.equal(cache.get(923), 2217);
    assert.equal(cache.get(685), 1640);
    cache.put(1116, 579);
    cache.put(669, 1050);
    cache.put(1127, 259);
    cache.put(44, 1976);
    assert.equal(cache.get(812), 946);
    cache.put(281, 2457);
    cache.put(1355, 2378);
    assert.equal(cache.get(353), 56);
    assert.equal(cache.get(706), null);
    assert.equal(cache.get(595), 2316);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(33), 14);
    assert.equal(cache.get(86), 2542);
    cache.put(1429, 1043);
    assert.equal(cache.get(542), 714);
    cache.put(1228, 309);
    cache.put(351, 2368);
    assert.equal(cache.get(890), null);
    cache.put(224, 252);
    assert.equal(cache.get(716), 3183);
    cache.put(401, 789);
    cache.put(986, 1682);
    cache.put(886, 1340);
    assert.equal(cache.get(530), 2373);
    cache.put(918, 670);
    cache.put(213, 2330);
    cache.put(255, 1938);
    assert.equal(cache.get(554), 2478);
    cache.put(1094, 2910);
    cache.put(752, 1613);
    cache.put(1330, 1561);
    cache.put(116, 2628);
    assert.equal(cache.get(1300), 1868);
    assert.equal(cache.get(868), 2803);
    cache.put(555, 1534);
    cache.put(1092, 1922);
    assert.equal(cache.get(1297), 1382);
    cache.put(1168, 1523);
    cache.put(638, 1537);
    cache.put(783, 989);
    cache.put(1389, 728);
    cache.put(459, 212);
    cache.put(925, 359);
    cache.put(382, 2351);
    cache.put(952, 442);
    assert.equal(cache.get(318), 546);
    cache.put(1013, 2552);
    assert.equal(cache.get(1023), 2925);
    cache.put(786, 560);
    assert.equal(cache.get(934), 2913);
    cache.put(753, 1787);
    assert.equal(cache.get(897), 2790);
    assert.equal(cache.get(250), 2376);
    cache.put(298, 3087);
    cache.put(153, 3268);
    cache.put(532, 2548);
    cache.put(877, 316);
    assert.equal(cache.get(1414), 810);
    assert.equal(cache.get(1099), 1813);
    cache.put(895, 777);
    assert.equal(cache.get(359), null);
    assert.equal(cache.get(349), 1284);
    cache.put(858, 1450);
    cache.put(1067, 445);
    cache.put(380, 2461);
    assert.equal(cache.get(204), 2784);
    assert.equal(cache.get(839), 1956);
    cache.put(190, 1008);
    assert.equal(cache.get(1072), 1997);
    cache.put(557, 2219);
    assert.equal(cache.get(536), 465);
    assert.equal(cache.get(713), null);
    cache.put(1202, 2203);
    assert.equal(cache.get(189), 2144);
    cache.put(821, 154);
    assert.equal(cache.get(717), 2769);
    assert.equal(cache.get(920), 1505);
    cache.put(1256, 2050);
    assert.equal(cache.get(1321), null);
    cache.put(180, 854);
    cache.put(467, 1187);
    assert.equal(cache.get(446), 1511);
    assert.equal(cache.get(1426), 631);
    assert.equal(cache.get(1174), 2556);
    cache.put(1391, 2893);
    cache.put(1362, 2067);
    assert.equal(cache.get(719), 2142);
    cache.put(1046, 2159);
    cache.put(260, 2418);
    cache.put(8, 168);
    cache.put(1368, 2266);
    cache.put(926, 1605);
    cache.put(1230, 1307);
    cache.put(157, 2859);
    cache.put(1200, 312);
    assert.equal(cache.get(347), 1789);
    assert.equal(cache.get(454), 1457);
    cache.put(558, 2035);
    cache.put(670, 1425);
    cache.put(1138, 1480);
    cache.put(219, 560);
    cache.put(462, 287);
    assert.equal(cache.get(1281), 1136);
    cache.put(1089, 1213);
    cache.put(35, 2385);
    cache.put(794, 610);
    assert.equal(cache.get(1069), 1977);
    assert.equal(cache.get(1141), 225);
    cache.put(79, 743);
    assert.equal(cache.get(527), 1508);
    assert.equal(cache.get(340), 2074);
    cache.put(1253, 195);
    cache.put(354, 2075);
    cache.put(796, 242);
    cache.put(996, 3005);
    cache.put(1265, 1530);
    cache.put(16, 1673);
    cache.put(1179, 44);
    cache.put(1161, 2343);
    cache.put(723, 585);
    assert.equal(cache.get(1409), 493);
    assert.equal(cache.get(1080), 1565);
    cache.put(571, 1461);
    cache.put(1105, 2523);
    assert.equal(cache.get(1250), 2243);
    cache.put(507, 2473);
    assert.equal(cache.get(393), 2705);
    cache.put(645, 1319);
    assert.equal(cache.get(1039), 898);
    assert.equal(cache.get(337), 459);
    cache.put(1348, 1183);
    assert.equal(cache.get(1236), null);
    assert.equal(cache.get(916), 3041);
    cache.put(323, 1048);
    assert.equal(cache.get(1267), 1128);
    cache.put(1123, 517);
    assert.equal(cache.get(888), 3040);
    assert.equal(cache.get(506), 1947);
    assert.equal(cache.get(873), 1185);
    cache.put(1131, 2819);
    assert.equal(cache.get(778), null);
    cache.put(667, 1429);
    assert.equal(cache.get(635), 3183);
    cache.put(158, 565);
    assert.equal(cache.get(182), 2595);
    assert.equal(cache.get(341), 6);
    assert.equal(cache.get(1037), null);
    assert.equal(cache.get(1337), 1800);
    cache.put(1363, 27);
    cache.put(706, 299);
    cache.put(397, 2511);
    assert.equal(cache.get(75), null);
    assert.equal(cache.get(632), null);
    assert.equal(cache.get(607), 109);
    cache.put(1014, 2529);
    assert.equal(cache.get(871), null);
    assert.equal(cache.get(990), null);
    assert.equal(cache.get(783), 989);
    cache.put(283, 2101);
    cache.put(336, 559);
    assert.equal(cache.get(449), 2513);
    cache.put(525, 87);
    assert.equal(cache.get(740), null);
    assert.equal(cache.get(622), null);
    assert.equal(cache.get(780), 1385);
    cache.put(911, 1194);
    assert.equal(cache.get(1266), 2403);
    cache.put(711, 2609);
    assert.equal(cache.get(516), 3132);
    assert.equal(cache.get(1109), 2654);
    assert.equal(cache.get(171), 862);
    assert.equal(cache.get(507), 2473);
    cache.put(411, 1336);
    assert.equal(cache.get(885), 1930);
    assert.equal(cache.get(1367), 68);
    cache.put(45, 2714);
    cache.put(203, 1369);
    cache.put(852, 1554);
    cache.put(556, 2701);
    cache.put(1036, 2356);
    assert.equal(cache.get(255), 1938);
    assert.equal(cache.get(11), null);
    assert.equal(cache.get(212), 1993);
    assert.equal(cache.get(894), 3233);
    assert.equal(cache.get(40), 1045);
    cache.put(346, 2051);
    cache.put(376, 2963);
    assert.equal(cache.get(1137), 1279);
    assert.equal(cache.get(714), 1618);
    assert.equal(cache.get(9), 2408);
    cache.put(1314, 875);
    cache.put(443, 2513);
    assert.equal(cache.get(606), null);
    cache.put(563, 496);
    cache.put(933, 303);
    assert.equal(cache.get(28), 2090);
    cache.put(1425, 2838);
    cache.put(385, 55);
    cache.put(1204, 3190);
    cache.put(927, 115);
    cache.put(1037, 2050);
    cache.put(368, 3118);
    cache.put(304, 3185);
    cache.put(1299, 796);
    assert.equal(cache.get(789), 1909);
    assert.equal(cache.get(992), 1729);
    cache.put(200, 610);
    cache.put(497, 2907);
    cache.put(1058, 2930);
    cache.put(255, 2010);
    assert.equal(cache.get(1409), 493);
    assert.equal(cache.get(939), 186);
    cache.put(737, 376);
    assert.equal(cache.get(851), null);
    cache.put(1154, 3132);
    cache.put(1035, 1578);
    assert.equal(cache.get(276), null);
    cache.put(1010, 808);
    assert.equal(cache.get(273), 2238);
    assert.equal(cache.get(220), 283);
    cache.put(57, 1411);
    cache.put(955, 2655);
    assert.equal(cache.get(653), null);
    cache.put(239, 1086);
    assert.equal(cache.get(1325), 417);
    assert.equal(cache.get(40), 1045);
    cache.put(10, 2898);
    cache.put(577, 2480);
    cache.put(1053, 623);
    cache.put(1235, 2163);
    cache.put(1077, 335);
    cache.put(112, 1661);
    cache.put(319, 963);
    cache.put(1018, 917);
    cache.put(72, 1912);
    assert.equal(cache.get(477), 2410);
    assert.equal(cache.get(107), 756);
    assert.equal(cache.get(122), 709);
    assert.equal(cache.get(325), 1430);
    assert.equal(cache.get(321), 2663);
    assert.equal(cache.get(923), 2217);
    cache.put(894, 3012);
    cache.put(819, 2374);
    cache.put(665, 2183);
    cache.put(15, 557);
    cache.put(716, 2376);
    cache.put(361, 652);
    cache.put(1050, 566);
    cache.put(51, 61);
    cache.put(86, 736);
    assert.equal(cache.get(193), 820);
    assert.equal(cache.get(582), 1621);
    cache.put(437, 1669);
    cache.put(562, 2611);
    cache.put(1250, 2191);
    cache.put(850, 807);
    assert.equal(cache.get(27), 2760);
    cache.put(994, 2579);
    cache.put(228, 1947);
    assert.equal(cache.get(258), 2963);
    cache.put(1085, 1095);
    cache.put(449, 523);
    cache.put(1061, 55);
    cache.put(74, 45);
    cache.put(8, 911);
    assert.equal(cache.get(310), null);
    cache.put(438, 2957);
    cache.put(623, 2554);
    cache.put(1394, 3096);
    cache.put(944, 1483);
    cache.put(503, 64);
    assert.equal(cache.get(1222), 2202);
    assert.equal(cache.get(1378), 2022);
    cache.put(49, 2680);
    assert.equal(cache.get(477), 2410);
    cache.put(1203, 1265);
    cache.put(636, 1866);
    cache.put(108, 2355);
    assert.equal(cache.get(782), 1370);
    assert.equal(cache.get(100), 1814);
    assert.equal(cache.get(1425), 2838);
    cache.put(611, 406);
    cache.put(601, 341);
    cache.put(221, 961);
    cache.put(544, 1080);
    assert.equal(cache.get(1202), null);
    cache.put(652, 2378);
    assert.equal(cache.get(302), 2006);
    assert.equal(cache.get(1368), 2266);
    cache.put(501, 1425);
    cache.put(1026, 3105);
    cache.put(1148, 3153);
    cache.put(85, 226);
    cache.put(214, 2809);
    cache.put(194, 1270);
    assert.equal(cache.get(199), null);
    cache.put(704, 1843);
    assert.equal(cache.get(1298), 857);
    assert.equal(cache.get(1033), 1381);
    assert.equal(cache.get(585), 2099);
    cache.put(658, 3284);
    assert.equal(cache.get(67), 1579);
    cache.put(281, 855);
    cache.put(184, 2231);
    assert.equal(cache.get(857), null);
    assert.equal(cache.get(1418), 701);
    cache.put(1165, 771);
    assert.equal(cache.get(273), 2238);
    assert.equal(cache.get(1206), 3176);
    assert.equal(cache.get(1198), null);
    cache.put(383, 1210);
    assert.equal(cache.get(209), 246);
    cache.put(927, 2952);
    cache.put(1107, 1957);
    assert.equal(cache.get(515), 2598);
    assert.equal(cache.get(1261), 1490);
    cache.put(118, 759);
    cache.put(1062, 1593);
    cache.put(814, 1377);
    cache.put(61, 1882);
    cache.put(613, 968);
    cache.put(1367, 2781);
    assert.equal(cache.get(1268), 3002);
    assert.equal(cache.get(20), 1384);
    cache.put(1174, 1389);
    cache.put(676, 3248);
    cache.put(292, 636);
    cache.put(694, 1642);
    cache.put(1269, 2317);
    assert.equal(cache.get(449), 523);
    cache.put(103, 569);
    cache.put(1263, 623);
    assert.equal(cache.get(1070), 1430);
    assert.equal(cache.get(549), 1382);
    cache.put(993, 408);
    assert.equal(cache.get(315), null);
    cache.put(1225, 1907);
    assert.equal(cache.get(1357), null);
    cache.put(458, 830);
    assert.equal(cache.get(1390), 2929);
    assert.equal(cache.get(124), 2056);
    assert.equal(cache.get(750), 240);
    assert.equal(cache.get(256), 140);
    assert.equal(cache.get(715), 3);
    cache.put(892, 2905);
    cache.put(506, 689);
    cache.put(1356, 1322);
    cache.put(674, 1118);
    cache.put(447, 2133);
    assert.equal(cache.get(1297), 1382);
    assert.equal(cache.get(124), 2056);
    cache.put(607, 884);
    cache.put(1347, 1803);
    cache.put(470, 1457);
    assert.equal(cache.get(1098), 1015);
    cache.put(807, 2504);
    cache.put(1084, 2557);
    assert.equal(cache.get(693), 2762);
    cache.put(619, 2897);
    assert.equal(cache.get(341), 6);
    cache.put(803, 2505);
    assert.equal(cache.get(794), null);
    cache.put(107, 2465);
    cache.put(157, 2947);
    cache.put(1342, 698);
    cache.put(487, 1847);
    cache.put(626, 1492);
    cache.put(679, 1124);
    assert.equal(cache.get(643), 826);
    cache.put(579, 2139);
    cache.put(1165, 3280);
    assert.equal(cache.get(296), 2086);
    cache.put(891, 2033);
    cache.put(107, 1462);
    cache.put(86, 3246);
    cache.put(286, 653);
    cache.put(1336, 3012);
    cache.put(784, 1615);
    cache.put(418, 1031);
    cache.put(890, 2135);
    cache.put(144, 822);
    assert.equal(cache.get(841), 3040);
    cache.put(1051, 1108);
    cache.put(746, 1504);
    cache.put(600, 913);
    assert.equal(cache.get(1070), 1430);
    cache.put(239, 2729);
    cache.put(771, 989);
    cache.put(254, 3212);
    assert.equal(cache.get(1192), 3132);
    cache.put(354, 3114);
    cache.put(97, 171);
    cache.put(652, 2347);
    cache.put(1139, 1174);
    cache.put(1358, 1711);
    assert.equal(cache.get(136), null);
    assert.equal(cache.get(382), 2351);
    assert.equal(cache.get(1057), 1601);
    cache.put(413, 3144);
    assert.equal(cache.get(1175), 2548);
    cache.put(207, 2303);
    assert.equal(cache.get(929), null);
    assert.equal(cache.get(488), 2820);
    assert.equal(cache.get(1408), null);
    assert.equal(cache.get(614), 757);
    assert.equal(cache.get(1050), 566);
    cache.put(686, 2819);
    assert.equal(cache.get(914), 2361);
    cache.put(134, 206);
    cache.put(84, 459);
    assert.equal(cache.get(843), 22);
    assert.equal(cache.get(1014), 2529);
    cache.put(1219, 1956);
    cache.put(1101, 1222);
    assert.equal(cache.get(403), 1902);
    cache.put(1378, 1126);
    cache.put(631, 3208);
    cache.put(970, 3229);
    assert.equal(cache.get(440), 39);
    cache.put(1023, 2997);
    cache.put(48, 1756);
    assert.equal(cache.get(594), 828);
    cache.put(871, 1391);
    assert.equal(cache.get(768), 253);
    cache.put(301, 841);
    cache.put(377, 2507);
    cache.put(565, 718);
    cache.put(444, 3054);
    cache.put(1292, 1509);
    cache.put(1238, 3229);
    cache.put(1400, 994);
    assert.equal(cache.get(709), null);
    cache.put(314, 3159);
    cache.put(210, 1381);
    cache.put(1251, 963);
    assert.equal(cache.get(928), 204);
    assert.equal(cache.get(1324), 3250);
    assert.equal(cache.get(290), 2728);
    cache.put(1228, 2950);
    assert.equal(cache.get(719), 2142);
    cache.put(240, 2173);
    cache.put(29, 2145);
    cache.put(670, 81);
    assert.equal(cache.get(1055), 1782);
    assert.equal(cache.get(468), null);
    assert.equal(cache.get(483), 2300);
    assert.equal(cache.get(1271), 2112);
    cache.put(258, 929);
    cache.put(623, 2292);
    cache.put(1249, 1808);
    assert.equal(cache.get(243), 803);
    assert.equal(cache.get(1384), 3256);
    assert.equal(cache.get(776), 465);
    assert.equal(cache.get(485), null);
    assert.equal(cache.get(597), null);
    assert.equal(cache.get(881), 1159);
    cache.put(670, 1663);
    assert.equal(cache.get(256), 140);
    cache.put(1318, 1870);
    cache.put(1088, 1901);
    assert.equal(cache.get(493), 3113);
    cache.put(659, 613);
    cache.put(687, 882);
    cache.put(546, 864);
    cache.put(518, 1106);
    assert.equal(cache.get(1148), 3153);
    cache.put(460, 1927);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(1139), 1174);
    assert.equal(cache.get(460), 1927);
    assert.equal(cache.get(917), 1982);
    cache.put(1155, 335);
    assert.equal(cache.get(427), null);
    cache.put(266, 1317);
    cache.put(187, 190);
    cache.put(1149, 2295);
    cache.put(1270, 687);
    assert.equal(cache.get(363), 1355);
    cache.put(1294, 1528);
    assert.equal(cache.get(498), null);
    assert.equal(cache.get(504), 3133);
    cache.put(1342, 503);
    cache.put(203, 619);
    cache.put(422, 640);
    assert.equal(cache.get(1279), 1012);
    cache.put(841, 2972);
    assert.equal(cache.get(876), null);
    cache.put(897, 2526);
    assert.equal(cache.get(551), 1774);
    assert.equal(cache.get(1208), 413);
    assert.equal(cache.get(1140), null);
    assert.equal(cache.get(1257), 1238);
    assert.equal(cache.get(1370), null);
    assert.equal(cache.get(1305), 429);
    assert.equal(cache.get(819), 2374);
    cache.put(1010, 3301);
    cache.put(332, 1975);
    cache.put(837, 690);
    cache.put(1021, 1190);
    cache.put(609, 428);
    assert.equal(cache.get(771), 989);
    cache.put(1363, 1627);
    assert.equal(cache.get(296), 2086);
    assert.equal(cache.get(1001), null);
    cache.put(16, 1527);
    cache.put(1417, 1218);
    cache.put(1292, 1371);
    assert.equal(cache.get(1076), 47);
    cache.put(557, 2246);
    cache.put(948, 1439);
    cache.put(770, 1717);
    cache.put(244, 3107);
    cache.put(1168, 3182);
    assert.equal(cache.get(638), 1537);
    assert.equal(cache.get(855), 212);
    assert.equal(cache.get(217), 3158);
    assert.equal(cache.get(1334), null);
    cache.put(1165, 1575);
    assert.equal(cache.get(236), null);
    cache.put(240, 27);
    cache.put(759, 738);
    cache.put(1380, 2207);
    cache.put(457, 1898);
    assert.equal(cache.get(613), 968);
    assert.equal(cache.get(898), 3138);
    cache.put(764, 233);
    cache.put(46, 1936);
    cache.put(69, 1831);
    assert.equal(cache.get(857), null);
    assert.equal(cache.get(926), 1605);
    assert.equal(cache.get(481), 2329);
    assert.equal(cache.get(1352), 2981);
    cache.put(1303, 1771);
    assert.equal(cache.get(921), 2639);
    cache.put(874, 486);
    cache.put(1041, 3056);
    cache.put(67, 2034);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(129), 585);
    assert.equal(cache.get(518), 1106);
    assert.equal(cache.get(980), 1026);
    assert.equal(cache.get(443), 2513);
    cache.put(472, 1468);
    assert.equal(cache.get(1111), 657);
    assert.equal(cache.get(1337), 1800);
    assert.equal(cache.get(649), null);
    cache.put(335, 2460);
    assert.equal(cache.get(404), 1509);
    cache.put(556, 2232);
    assert.equal(cache.get(1151), 2538);
    assert.equal(cache.get(588), 2189);
    cache.put(1328, 78);
    assert.equal(cache.get(1130), 618);
    cache.put(188, 2739);
    cache.put(189, 3202);
    cache.put(1105, 160);
    assert.equal(cache.get(588), 2189);
    assert.equal(cache.get(103), 569);
    cache.put(670, 2477);
    cache.put(778, 2788);
    assert.equal(cache.get(478), 1264);
    cache.put(132, 3065);
    cache.put(822, 2124);
    assert.equal(cache.get(1229), 953);
    cache.put(1385, 181);
    assert.equal(cache.get(254), 3212);
    assert.equal(cache.get(970), 3229);
    assert.equal(cache.get(522), null);
    cache.put(1412, 1420);
    assert.equal(cache.get(589), null);
    cache.put(1113, 2792);
    assert.equal(cache.get(835), 1586);
    assert.equal(cache.get(303), 2736);
    cache.put(1194, 1477);
    cache.put(134, 888);
    cache.put(1397, 2598);
    assert.equal(cache.get(578), 3057);
    cache.put(1199, 3084);
    assert.equal(cache.get(432), 1692);
    assert.equal(cache.get(178), null);
    cache.put(423, 428);
    assert.equal(cache.get(87), 2690);
    cache.put(1185, 405);
    assert.equal(cache.get(1428), null);
    cache.put(755, 99);
    cache.put(519, 214);
    cache.put(712, 688);
    cache.put(891, 649);
    cache.put(1281, 1316);
    assert.equal(cache.get(429), 2380);
    assert.equal(cache.get(864), 862);
    cache.put(335, 223);
    assert.equal(cache.get(882), 2044);
    cache.put(975, 1254);
    assert.equal(cache.get(169), 2153);
    assert.equal(cache.get(129), 585);
    cache.put(669, 2276);
    cache.put(729, 361);
    assert.equal(cache.get(860), null);
    assert.equal(cache.get(1018), 917);
    cache.put(1247, 3214);
    assert.equal(cache.get(1098), 1015);
    cache.put(122, 1637);
    cache.put(926, 107);
    cache.put(615, 3070);
    assert.equal(cache.get(1392), null);
    cache.put(117, 236);
    cache.put(75, 3008);
    cache.put(688, 343);
    assert.equal(cache.get(524), 2028);
    cache.put(500, 942);
    assert.equal(cache.get(24), 767);
    cache.put(1005, 1384);
    cache.put(554, 343);
    assert.equal(cache.get(621), null);
    assert.equal(cache.get(1186), 2673);
    cache.put(581, 1825);
    cache.put(892, 2456);
    assert.equal(cache.get(692), 1035);
    cache.put(858, 2745);
    cache.put(1043, 1937);
    assert.equal(cache.get(1098), 1015);
    cache.put(561, 376);
    assert.equal(cache.get(1010), 3301);
    cache.put(206, 2294);
    cache.put(14, 574);
    cache.put(765, 15);
    cache.put(650, 1806);
    assert.equal(cache.get(908), 1693);
    assert.equal(cache.get(332), 1975);
    cache.put(393, 3149);
    assert.equal(cache.get(375), 1345);
    assert.equal(cache.get(1305), 429);
    assert.equal(cache.get(1061), 55);
    cache.put(1332, 2591);
    cache.put(1384, 1573);
    assert.equal(cache.get(1064), 2937);
    cache.put(934, 2728);
    assert.equal(cache.get(199), null);
    cache.put(1426, 1765);
    cache.put(1188, 3097);
    cache.put(1330, 604);
    cache.put(1106, 852);
    assert.equal(cache.get(81), 2519);
    assert.equal(cache.get(940), 340);
    assert.equal(cache.get(693), 2762);
    assert.equal(cache.get(894), 3012);
    cache.put(556, 181);
    cache.put(457, 1291);
    assert.equal(cache.get(89), 305);
    assert.equal(cache.get(227), 1240);
    assert.equal(cache.get(1116), 579);
    cache.put(619, 1691);
    cache.put(429, 1795);
    assert.equal(cache.get(26), 1921);
    cache.put(503, 853);
    cache.put(365, 581);
    assert.equal(cache.get(554), 343);
    cache.put(944, 2232);
    cache.put(878, 1121);
    cache.put(1270, 419);
    cache.put(912, 374);
    cache.put(622, 237);
    cache.put(519, 2068);
    cache.put(1001, 1811);
    cache.put(623, 1264);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(1380), 2207);
    assert.equal(cache.get(542), 714);
    cache.put(168, 1098);
    cache.put(307, 1336);
    cache.put(769, 3270);
    cache.put(147, 2080);
    cache.put(1201, 1808);
    cache.put(420, 53);
    cache.put(384, 2361);
    cache.put(1028, 2306);
    cache.put(942, 2917);
    assert.equal(cache.get(549), 1382);
    cache.put(534, 1804);
    assert.equal(cache.get(333), 3046);
    assert.equal(cache.get(1063), 1525);
    cache.put(1335, 2067);
    assert.equal(cache.get(1402), 659);
    cache.put(1323, 139);
    cache.put(872, 1824);
    assert.equal(cache.get(1230), null);
    cache.put(526, 2584);
    assert.equal(cache.get(145), 862);
    cache.put(1253, 299);
    cache.put(1117, 2078);
    cache.put(915, 3253);
    assert.equal(cache.get(1158), 3018);
    cache.put(1369, 2966);
    assert.equal(cache.get(1127), 259);
    assert.equal(cache.get(31), 114);
    cache.put(586, 1532);
    cache.put(663, 1100);
    assert.equal(cache.get(811), null);
    cache.put(600, 2684);
    assert.equal(cache.get(1155), 335);
    cache.put(975, 1565);
    assert.equal(cache.get(554), 343);
    cache.put(150, 2761);
    cache.put(811, 1079);
    cache.put(332, 2339);
    assert.equal(cache.get(1074), 2314);
    assert.equal(cache.get(1273), null);
    assert.equal(cache.get(431), 623);
    cache.put(617, 830);
    assert.equal(cache.get(325), 1430);
    assert.equal(cache.get(602), 2946);
    cache.put(1023, 3136);
    assert.equal(cache.get(894), 3012);
    cache.put(263, 3066);
    cache.put(807, 483);
    cache.put(795, 1888);
    cache.put(1346, 2118);
    cache.put(1221, 589);
    cache.put(154, 3101);
    cache.put(894, 521);
    cache.put(162, 566);
    cache.put(132, 2741);
    assert.equal(cache.get(1386), 2097);
    assert.equal(cache.get(58), 1292);
    assert.equal(cache.get(1337), 1800);
    cache.put(865, 373);
    assert.equal(cache.get(243), 803);
    cache.put(808, 1173);
    assert.equal(cache.get(1272), 514);
    cache.put(1421, 1087);
    cache.put(1042, 2661);
    assert.equal(cache.get(1201), 1808);
    cache.put(1267, 3138);
    cache.put(404, 1946);
    assert.equal(cache.get(950), null);
    cache.put(1368, 6);
    assert.equal(cache.get(324), 1455);
    cache.put(1414, 1014);
    cache.put(1027, 472);
    assert.equal(cache.get(785), 2444);
    assert.equal(cache.get(610), 1066);
    assert.equal(cache.get(1339), 1557);
    assert.equal(cache.get(443), 2513);
    cache.put(185, 1439);
    cache.put(1146, 2051);
    assert.equal(cache.get(1152), null);
    cache.put(1327, 1556);
    cache.put(627, 1656);
    cache.put(547, 217);
    assert.equal(cache.get(791), 1894);
    assert.equal(cache.get(253), 2366);
    cache.put(1396, 1649);
    cache.put(385, 2524);
    assert.equal(cache.get(1015), 2381);
    cache.put(1144, 2706);
    assert.equal(cache.get(363), 1355);
    assert.equal(cache.get(872), 1824);
    cache.put(696, 634);
    assert.equal(cache.get(1102), 2122);
    cache.put(845, 2322);
    assert.equal(cache.get(1021), null);
    assert.equal(cache.get(503), 853);
    cache.put(1293, 2149);
    assert.equal(cache.get(27), 2760);
    assert.equal(cache.get(830), 22);
    cache.put(451, 1018);
    cache.put(1245, 2522);
    assert.equal(cache.get(273), 2238);
    cache.put(1061, 1735);
    cache.put(189, 1936);
    cache.put(1143, 2891);
    cache.put(865, 2568);
    assert.equal(cache.get(426), 715);
    assert.equal(cache.get(1408), null);
    assert.equal(cache.get(1231), 2850);
    assert.equal(cache.get(1019), 1695);
    cache.put(134, 2599);
    assert.equal(cache.get(892), 2456);
    assert.equal(cache.get(578), 3057);
    cache.put(1116, 2686);
    cache.put(1423, 574);
    assert.equal(cache.get(803), 2505);
    cache.put(1193, 1900);
    assert.equal(cache.get(169), 2153);
    assert.equal(cache.get(14), 574);
    assert.equal(cache.get(1332), 2591);
    assert.equal(cache.get(271), 1870);
    cache.put(343, 830);
    assert.equal(cache.get(772), 3197);
    cache.put(974, 885);
    cache.put(855, 963);
    assert.equal(cache.get(236), null);
    assert.equal(cache.get(413), 3144);
    cache.put(1140, 2721);
    assert.equal(cache.get(691), 2500);
    assert.equal(cache.get(1281), 1316);
    cache.put(753, 2321);
    cache.put(1296, 1095);
    assert.equal(cache.get(937), 2932);
    cache.put(342, 1082);
    assert.equal(cache.get(1305), 429);
    cache.put(68, 1202);
    cache.put(649, 2277);
    assert.equal(cache.get(1354), 1318);
    cache.put(540, 882);
    cache.put(961, 2149);
    cache.put(175, 1508);
    cache.put(1309, 2888);
    cache.put(100, 182);
    cache.put(610, 364);
    assert.equal(cache.get(1130), 618);
    cache.put(424, 2483);
    cache.put(506, 1623);
    cache.put(315, 2482);
    assert.equal(cache.get(96), 103);
    cache.put(388, 64);
    cache.put(446, 608);
    cache.put(668, 2384);
    assert.equal(cache.get(598), 786);
    assert.equal(cache.get(234), 2088);
    assert.equal(cache.get(1409), 493);
    cache.put(351, 136);
    cache.put(529, 3049);
    cache.put(907, 869);
    assert.equal(cache.get(241), 2087);
    cache.put(699, 2753);
    assert.equal(cache.get(964), 1093);
    cache.put(321, 942);
    cache.put(397, 659);
    cache.put(1018, 237);
    cache.put(819, 2907);
    assert.equal(cache.get(1294), 1528);
    cache.put(1067, 2602);
    assert.equal(cache.get(1294), 1528);
    cache.put(94, 163);
    cache.put(199, 999);
    assert.equal(cache.get(172), null);
    cache.put(1087, 1263);
    assert.equal(cache.get(1329), null);
    cache.put(756, 2669);
    cache.put(813, 1257);
    cache.put(1071, 3185);
    cache.put(105, 1974);
    assert.equal(cache.get(1380), 2207);
    assert.equal(cache.get(313), 552);
    cache.put(900, 2452);
    assert.equal(cache.get(751), 1372);
    assert.equal(cache.get(908), 1693);
    assert.equal(cache.get(301), 841);
    cache.put(448, 2248);
    assert.equal(cache.get(455), null);
    cache.put(640, 2381);
    cache.put(613, 62);
    cache.put(751, 2724);
    cache.put(1326, 3250);
    assert.equal(cache.get(729), 361);
    cache.put(175, 59);
    assert.equal(cache.get(1304), 2484);
    cache.put(23, 581);
    cache.put(222, 2121);
    assert.equal(cache.get(766), 1178);
    assert.equal(cache.get(130), 1904);
    cache.put(963, 305);
    cache.put(724, 1084);
    cache.put(55, 1227);
    cache.put(1401, 2304);
    assert.equal(cache.get(44), 1976);
    cache.put(632, 3089);
    cache.put(1032, 2413);
    assert.equal(cache.get(47), 737);
    cache.put(774, 1457);
    cache.put(1416, 1301);
    assert.equal(cache.get(239), 2729);
    assert.equal(cache.get(404), 1946);
    cache.put(744, 538);
    assert.equal(cache.get(1037), null);
    assert.equal(cache.get(1253), 299);
    assert.equal(cache.get(359), null);
    assert.equal(cache.get(1130), 618);
    cache.put(688, 1535);
    cache.put(1336, 1238);
    cache.put(1282, 2607);
    cache.put(863, 1971);
    cache.put(19, 380);
    assert.equal(cache.get(1248), 1606);
    cache.put(603, 2572);
    assert.equal(cache.get(129), 585);
    assert.equal(cache.get(1263), 623);
    cache.put(411, 2152);
    cache.put(278, 145);
    cache.put(668, 2173);
    assert.equal(cache.get(672), 1281);
    cache.put(770, 2420);
    cache.put(1369, 1510);
    cache.put(521, 2569);
    cache.put(270, 487);
    assert.equal(cache.get(352), 2721);
    cache.put(321, 2960);
    cache.put(1344, 2758);
    assert.equal(cache.get(32), 1690);
    assert.equal(cache.get(205), 1905);
    cache.put(581, 2486);
    assert.equal(cache.get(366), null);
    cache.put(956, 450);
    cache.put(478, 3284);
    cache.put(717, 2448);
    assert.equal(cache.get(1102), 2122);
    assert.equal(cache.get(1065), 3096);
    assert.equal(cache.get(1002), 1638);
    cache.put(668, 2829);
    cache.put(119, 615);
    assert.equal(cache.get(710), 413);
    cache.put(871, 1951);
    assert.equal(cache.get(1159), 2903);
    cache.put(1410, 2899);
    assert.equal(cache.get(963), 305);
    assert.equal(cache.get(711), 2609);
    assert.equal(cache.get(199), 999);
    cache.put(422, 622);
    assert.equal(cache.get(1043), null);
    assert.equal(cache.get(1033), 1381);
    cache.put(55, 55);
    assert.equal(cache.get(199), 999);
    cache.put(307, 2891);
    cache.put(820, 2058);
    assert.equal(cache.get(1084), 2557);
    cache.put(1027, 1672);
    assert.equal(cache.get(428), null);
    cache.put(1255, 1946);
    cache.put(233, 2103);
    assert.equal(cache.get(1404), 122);
    assert.equal(cache.get(72), null);
    cache.put(813, 193);
    cache.put(1414, 3220);
    cache.put(977, 1349);
    cache.put(366, 2839);
    cache.put(905, 2235);
    cache.put(647, 411);
    assert.equal(cache.get(37), 2556);
    cache.put(125, 881);
    cache.put(312, 1901);
    cache.put(89, 464);
    assert.equal(cache.get(260), null);
    cache.put(1157, 968);
    cache.put(145, 256);
    cache.put(933, 274);
    assert.equal(cache.get(817), 2039);
    assert.equal(cache.get(1098), 1015);
    cache.put(837, 2111);
    cache.put(242, 2787);
    cache.put(191, 687);
    assert.equal(cache.get(770), 2420);
    assert.equal(cache.get(470), 1457);
    assert.equal(cache.get(585), 2099);
    assert.equal(cache.get(440), 39);
    cache.put(1422, 993);
    cache.put(752, 651);
    cache.put(1251, 1208);
    assert.equal(cache.get(93), null);
    assert.equal(cache.get(1201), 1808);
    assert.equal(cache.get(1067), 2602);
    cache.put(849, 2430);
    assert.equal(cache.get(768), 253);
    assert.equal(cache.get(360), null);
    cache.put(662, 2908);
    cache.put(1277, 1671);
    assert.equal(cache.get(1157), 968);
    assert.equal(cache.get(532), 2548);
    cache.put(71, 3078);
    assert.equal(cache.get(1085), 1095);
    cache.put(951, 1192);
    assert.equal(cache.get(473), 3084);
    assert.equal(cache.get(354), 3114);
    assert.equal(cache.get(390), 2224);
    cache.put(872, 683);
    cache.put(392, 3002);
    assert.equal(cache.get(121), 221);
    assert.equal(cache.get(689), 2211);
    assert.equal(cache.get(314), 3159);
    assert.equal(cache.get(1102), 2122);
    cache.put(911, 460);
    cache.put(645, 2692);
    assert.equal(cache.get(256), 140);
    assert.equal(cache.get(636), null);
    cache.put(1181, 3170);
    cache.put(1293, 1826);
    assert.equal(cache.get(1301), 1944);
    cache.put(472, 854);
    cache.put(306, 2272);
    assert.equal(cache.get(121), 221);
    assert.equal(cache.get(41), 267);
    assert.equal(cache.get(1393), null);
    cache.put(1219, 1850);
    cache.put(582, 2878);
    cache.put(252, 739);
    cache.put(572, 238);
    cache.put(164, 2481);
    assert.equal(cache.get(267), 2281);
    assert.equal(cache.get(753), 2321);
    assert.equal(cache.get(779), null);
    cache.put(281, 410);
    assert.equal(cache.get(632), 3089);
    cache.put(661, 1210);
    assert.equal(cache.get(1357), null);
    cache.put(1352, 278);
    cache.put(259, 987);
    assert.equal(cache.get(814), 1377);
    cache.put(779, 3160);
    cache.put(216, 3088);
    cache.put(1255, 1313);
    cache.put(357, 956);
    cache.put(968, 3207);
    assert.equal(cache.get(1171), 302);
    assert.equal(cache.get(206), 2294);
    cache.put(635, 2554);
    assert.equal(cache.get(349), 1284);
    cache.put(1058, 264);
    cache.put(201, 957);
    assert.equal(cache.get(692), 1035);
    cache.put(556, 2031);
    cache.put(689, 2156);
    cache.put(336, 1235);
    assert.equal(cache.get(396), 968);
    cache.put(498, 2372);
    cache.put(1042, 916);
    cache.put(278, 1734);
    cache.put(556, 1162);
    cache.put(1016, 694);
    assert.equal(cache.get(234), 2088);
    cache.put(1357, 1284);
    cache.put(100, 1776);
    assert.equal(cache.get(1097), 1426);
    assert.equal(cache.get(1096), 2277);
    assert.equal(cache.get(1025), null);
    cache.put(1342, 356);
    cache.put(489, 3038);
    assert.equal(cache.get(713), null);
    assert.equal(cache.get(913), 454);
    assert.equal(cache.get(1282), 2607);
    cache.put(181, 1774);
    assert.equal(cache.get(453), 2115);
    cache.put(347, 336);
    assert.equal(cache.get(1103), 271);
    cache.put(1414, 802);
    cache.put(1126, 450);
    cache.put(1345, 2605);
    assert.equal(cache.get(952), 442);
    assert.equal(cache.get(361), null);
    cache.put(326, 1410);
    assert.equal(cache.get(115), 917);
    cache.put(549, 2472);
    assert.equal(cache.get(822), 2124);
    assert.equal(cache.get(1379), 2658);
    cache.put(1095, 860);
    cache.put(140, 552);
    cache.put(651, 3170);
    assert.equal(cache.get(768), 253);
    cache.put(461, 215);
    cache.put(436, 1078);
    cache.put(1089, 2618);
    cache.put(1356, 91);
    cache.put(241, 388);
    cache.put(315, 1231);
    cache.put(49, 1878);
    assert.equal(cache.get(494), 2659);
    assert.equal(cache.get(903), null);
    cache.put(906, 1128);
    assert.equal(cache.get(1278), 2336);
    assert.equal(cache.get(1311), 709);
    cache.put(806, 485);
    assert.equal(cache.get(1056), 2031);
    cache.put(1058, 1393);
    cache.put(805, 2103);
    cache.put(702, 207);
    cache.put(460, 973);
    assert.equal(cache.get(106), null);
    cache.put(1256, 2482);
    assert.equal(cache.get(112), 1661);
    cache.put(802, 3039);
    assert.equal(cache.get(236), null);
    cache.put(585, 2715);
    assert.equal(cache.get(858), 2745);
    assert.equal(cache.get(101), 736);
    assert.equal(cache.get(403), 1902);
    assert.equal(cache.get(1301), 1944);
    assert.equal(cache.get(1014), 2529);
    assert.equal(cache.get(612), 2692);
    assert.equal(cache.get(374), 555);
    cache.put(615, 1618);
    cache.put(1017, 2513);
    cache.put(1114, 1027);
    cache.put(23, 2518);
    cache.put(201, 2537);
    cache.put(959, 787);
    cache.put(1238, 2693);
    assert.equal(cache.get(170), null);
    assert.equal(cache.get(888), 3040);
    cache.put(1143, 1458);
    assert.equal(cache.get(202), 1365);
    cache.put(727, 1375);
    assert.equal(cache.get(93), null);
    assert.equal(cache.get(775), 3137);
    cache.put(1122, 348);
    cache.put(30, 2898);
    cache.put(441, 1620);
    cache.put(502, 3112);
    assert.equal(cache.get(162), null);
    cache.put(263, 738);
    assert.equal(cache.get(1271), 2112);
    assert.equal(cache.get(183), 2642);
    cache.put(1275, 3288);
    assert.equal(cache.get(3), 803);
    cache.put(897, 3236);
    cache.put(68, 2682);
    assert.equal(cache.get(84), 459);
    cache.put(71, 2692);
    assert.equal(cache.get(971), 734);
    cache.put(654, 1792);
    cache.put(1243, 2444);
    assert.equal(cache.get(320), 530);
    cache.put(1055, 833);
    cache.put(202, 242);
    cache.put(96, 2478);
    assert.equal(cache.get(813), 193);
    assert.equal(cache.get(238), 1547);
    cache.put(284, 391);
    assert.equal(cache.get(1394), null);
    assert.equal(cache.get(360), null);
    cache.put(1247, 2656);
    cache.put(660, 1949);
    cache.put(1058, 3070);
    assert.equal(cache.get(1397), null);
    cache.put(1319, 3118);
    assert.equal(cache.get(513), null);
    cache.put(30, 2230);
    assert.equal(cache.get(574), 2699);
    assert.equal(cache.get(156), 3117);
    cache.put(1070, 1253);
    cache.put(989, 719);
    cache.put(20, 2981);
    cache.put(76, 299);
    cache.put(1045, 2527);
    assert.equal(cache.get(167), 2864);
    cache.put(309, 915);
    cache.put(160, 2916);
    assert.equal(cache.get(1135), 520);
    assert.equal(cache.get(1248), 1606);
    cache.put(327, 412);
    cache.put(757, 2509);
    assert.equal(cache.get(612), 2692);
    cache.put(238, 1340);
    cache.put(795, 1054);
    assert.equal(cache.get(158), null);
    assert.equal(cache.get(572), 238);
    cache.put(166, 2943);
    assert.equal(cache.get(667), null);
    assert.equal(cache.get(50), null);
    cache.put(1331, 1218);
    assert.equal(cache.get(1226), null);
    cache.put(842, 2851);
    cache.put(165, 975);
    cache.put(1309, 1463);
    assert.equal(cache.get(1198), null);
    cache.put(989, 1537);
    assert.equal(cache.get(772), 3197);
    cache.put(419, 1110);
    cache.put(1155, 416);
    cache.put(831, 3200);
    cache.put(1128, 1652);
    assert.equal(cache.get(867), null);
    assert.equal(cache.get(98), 812);
    cache.put(45, 421);
    cache.put(122, 3272);
    cache.put(763, 1269);
    cache.put(46, 1405);
    assert.equal(cache.get(61), null);
    assert.equal(cache.get(1073), 351);
    cache.put(958, 17);
    assert.equal(cache.get(299), null);
    cache.put(499, 151);
    cache.put(1352, 1388);
    cache.put(772, 799);
    assert.equal(cache.get(464), 2046);
    cache.put(895, 2069);
    cache.put(149, 3056);
    cache.put(658, 990);
    cache.put(1399, 668);
    cache.put(1202, 3016);
    cache.put(572, 1552);
    assert.equal(cache.get(768), 253);
    cache.put(492, 1004);
    cache.put(1218, 1153);
    cache.put(984, 554);
    assert.equal(cache.get(1431), 1073);
    cache.put(513, 966);
    cache.put(143, 487);
    cache.put(1037, 105);
    assert.equal(cache.get(1251), 1208);
    cache.put(661, 1731);
    assert.equal(cache.get(1417), 1218);
    cache.put(806, 1339);
    cache.put(16, 2264);
    cache.put(30, 2709);
    assert.equal(cache.get(40), 1045);
    assert.equal(cache.get(1262), null);
    assert.equal(cache.get(1002), 1638);
    assert.equal(cache.get(46), 1405);
    cache.put(1124, 1213);
    assert.equal(cache.get(949), null);
    assert.equal(cache.get(96), 2478);
    assert.equal(cache.get(907), 869);
    assert.equal(cache.get(262), null);
    cache.put(521, 1504);
    cache.put(1406, 2978);
    cache.put(774, 1073);
    assert.equal(cache.get(25), 2185);
    assert.equal(cache.get(713), null);
    assert.equal(cache.get(276), null);
    cache.put(359, 938);
    assert.equal(cache.get(866), 56);
    cache.put(1228, 390);
    assert.equal(cache.get(294), 1508);
    cache.put(1250, 919);
    assert.equal(cache.get(1193), 1900);
    assert.equal(cache.get(1201), 1808);
    cache.put(395, 3068);
    assert.equal(cache.get(33), 14);
    assert.equal(cache.get(174), null);
    cache.put(1132, 1531);
    assert.equal(cache.get(1406), 2978);
    assert.equal(cache.get(569), 886);
    cache.put(1182, 3184);
    cache.put(341, 1207);
    assert.equal(cache.get(974), null);
    assert.equal(cache.get(47), 737);
    cache.put(951, 1257);
    cache.put(322, 2939);
    cache.put(1122, 2914);
    assert.equal(cache.get(957), null);
    cache.put(203, 2823);
    cache.put(616, 568);
    assert.equal(cache.get(94), 163);
    assert.equal(cache.get(347), 336);
    cache.put(1243, 2443);
    assert.equal(cache.get(30), 2709);
    assert.equal(cache.get(451), 1018);
    assert.equal(cache.get(686), null);
    cache.put(1241, 1159);
    cache.put(483, 397);
    cache.put(949, 2542);
    cache.put(186, 2523);
    cache.put(748, 3146);
    assert.equal(cache.get(101), 736);
    assert.equal(cache.get(718), null);
    cache.put(739, 1179);
    assert.equal(cache.get(747), 2060);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(210), 1381);
    cache.put(937, 2658);
    assert.equal(cache.get(214), null);
    assert.equal(cache.get(1257), 1238);
    cache.put(377, 3014);
    cache.put(1018, 1080);
    cache.put(944, 2726);
    assert.equal(cache.get(1137), 1279);
    assert.equal(cache.get(777), 1749);
    assert.equal(cache.get(316), 445);
    cache.put(758, 3144);
    cache.put(421, 3161);
    cache.put(821, 1588);
    cache.put(174, 343);
    cache.put(6, 1528);
    cache.put(1174, 1308);
    cache.put(899, 27);
    assert.equal(cache.get(1345), 2605);
    cache.put(132, 137);
    assert.equal(cache.get(8), 911);
    assert.equal(cache.get(982), 2041);
    assert.equal(cache.get(469), 1109);
    assert.equal(cache.get(516), 3132);
    assert.equal(cache.get(663), null);
    cache.put(952, 3113);
    cache.put(1356, 482);
    cache.put(253, 2012);
    cache.put(89, 1548);
    assert.equal(cache.get(89), 1548);
    cache.put(33, 3141);
    assert.equal(cache.get(1053), 623);
    assert.equal(cache.get(1378), 1126);
    cache.put(1016, 858);
    assert.equal(cache.get(551), 1774);
    assert.equal(cache.get(137), 2159);
    cache.put(70, 1419);
    cache.put(134, 1322);
    assert.equal(cache.get(349), 1284);
    assert.equal(cache.get(1257), 1238);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(743), 711);
    cache.put(192, 2702);
    cache.put(1268, 2819);
    assert.equal(cache.get(1369), 1510);
    assert.equal(cache.get(599), null);
    cache.put(485, 100);
    assert.equal(cache.get(1218), 1153);
    assert.equal(cache.get(1206), 3176);
    assert.equal(cache.get(1154), 3132);
    assert.equal(cache.get(92), 1246);
    assert.equal(cache.get(4), null);
    assert.equal(cache.get(488), 2820);
    cache.put(708, 2008);
    cache.put(757, 2196);
    cache.put(590, 1327);
    assert.equal(cache.get(1040), null);
    assert.equal(cache.get(790), null);
    assert.equal(cache.get(406), 1813);
    assert.equal(cache.get(563), 496);
    cache.put(1115, 1185);
    cache.put(689, 1374);
    assert.equal(cache.get(727), 1375);
    assert.equal(cache.get(931), null);
    assert.equal(cache.get(338), null);
    assert.equal(cache.get(1274), 2164);
    assert.equal(cache.get(913), 454);
    cache.put(1355, 1661);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(1341), 15);
    cache.put(871, 343);
    cache.put(138, 2666);
    assert.equal(cache.get(145), 256);
    assert.equal(cache.get(282), 2600);
    cache.put(1416, 1685);
    cache.put(875, 1040);
    cache.put(418, 2099);
    cache.put(838, 2512);
    cache.put(1057, 886);
    cache.put(636, 1997);
    assert.equal(cache.get(1274), 2164);
    cache.put(1396, 1671);
    cache.put(1068, 3013);
    cache.put(692, 3248);
    assert.equal(cache.get(558), null);
    assert.equal(cache.get(77), null);
    assert.equal(cache.get(157), 2947);
    assert.equal(cache.get(735), 1229);
    assert.equal(cache.get(655), null);
    cache.put(181, 1351);
    cache.put(1399, 343);
    cache.put(613, 3108);
    cache.put(263, 3128);
    cache.put(699, 527);
    cache.put(507, 50);
    assert.equal(cache.get(1397), null);
    assert.equal(cache.get(844), 2756);
    cache.put(33, 364);
    cache.put(995, 3028);
    assert.equal(cache.get(1214), 2125);
    cache.put(348, 2353);
    assert.equal(cache.get(333), 3046);
    cache.put(119, 485);
    cache.put(1204, 2699);
    assert.equal(cache.get(740), null);
    cache.put(720, 1434);
    cache.put(1364, 2601);
    cache.put(1417, 1621);
    cache.put(722, 1921);
    assert.equal(cache.get(223), 2015);
    cache.put(1074, 2864);
    assert.equal(cache.get(1240), 2333);
    cache.put(675, 321);
    assert.equal(cache.get(568), null);
    cache.put(1048, 2053);
    cache.put(1413, 1841);
    cache.put(831, 1264);
    assert.equal(cache.get(531), 84);
    cache.put(1027, 2353);
    assert.equal(cache.get(320), 530);
    assert.equal(cache.get(1194), 1477);
    cache.put(403, 1588);
    assert.equal(cache.get(1406), 2978);
    cache.put(1343, 3167);
    assert.equal(cache.get(340), 2074);
    assert.equal(cache.get(152), 2080);
    assert.equal(cache.get(214), null);
    assert.equal(cache.get(414), 786);
    assert.equal(cache.get(1187), 449);
    cache.put(1016, 981);
    assert.equal(cache.get(930), 2780);
    cache.put(951, 1557);
    cache.put(1217, 23);
    cache.put(552, 3186);
    assert.equal(cache.get(1417), 1621);
    cache.put(549, 987);
    cache.put(1037, 492);
    assert.equal(cache.get(12), 548);
    assert.equal(cache.get(807), 483);
    assert.equal(cache.get(1217), 23);
    cache.put(1261, 1409);
    assert.equal(cache.get(33), 364);
    assert.equal(cache.get(299), null);
    assert.equal(cache.get(541), 2196);
    cache.put(88, 1748);
    cache.put(477, 3188);
    assert.equal(cache.get(334), 1446);
    cache.put(554, 1651);
    cache.put(1274, 1094);
    cache.put(227, 951);
    cache.put(440, 1826);
    cache.put(1208, 1954);
    assert.equal(cache.get(617), 830);
    assert.equal(cache.get(455), null);
    cache.put(1403, 1866);
    assert.equal(cache.get(132), 137);
    assert.equal(cache.get(620), 1097);
    assert.equal(cache.get(118), 759);
    cache.put(421, 2322);
    cache.put(261, 2493);
    cache.put(798, 1004);
    assert.equal(cache.get(737), null);
    cache.put(220, 1589);
    assert.equal(cache.get(946), null);
    cache.put(3, 1940);
    cache.put(375, 1592);
    cache.put(337, 2850);
    cache.put(382, 1527);
    cache.put(415, 707);
    cache.put(427, 350);
    cache.put(1382, 704);
    cache.put(749, 2394);
    cache.put(610, 2218);
    assert.equal(cache.get(687), 882);
    assert.equal(cache.get(455), null);
    cache.put(1159, 1091);
    assert.equal(cache.get(570), 1290);
    cache.put(852, 754);
    cache.put(604, 1103);
    cache.put(1096, 2401);
    cache.put(887, 2050);
    cache.put(1176, 496);
    cache.put(1323, 1251);
    assert.equal(cache.get(282), 2600);
    assert.equal(cache.get(971), 734);
    assert.equal(cache.get(875), 1040);
    cache.put(51, 59);
    cache.put(1129, 196);
    assert.equal(cache.get(1039), 898);
    assert.equal(cache.get(866), 56);
    assert.equal(cache.get(902), 1435);
    cache.put(872, 3175);
    cache.put(454, 3016);
    assert.equal(cache.get(86), 3246);
    assert.equal(cache.get(655), null);
    cache.put(553, 1988);
    cache.put(1117, 3224);
    cache.put(546, 2614);
    assert.equal(cache.get(1179), 44);
    cache.put(1121, 2990);
    cache.put(1002, 1363);
    assert.equal(cache.get(334), 1446);
    cache.put(1407, 1630);
    cache.put(1106, 2303);
    cache.put(391, 1945);
    cache.put(5, 986);
    assert.equal(cache.get(894), 521);
    assert.equal(cache.get(413), 3144);
    cache.put(986, 2801);
    cache.put(1178, 3157);
    assert.equal(cache.get(156), 3117);
    cache.put(1376, 2447);
    cache.put(1377, 2600);
    assert.equal(cache.get(168), 1098);
    cache.put(1329, 2401);
    assert.equal(cache.get(1258), null);
    assert.equal(cache.get(145), 256);
    assert.equal(cache.get(319), null);
    cache.put(561, 531);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(867), null);
    assert.equal(cache.get(159), null);
    assert.equal(cache.get(732), null);
    assert.equal(cache.get(1343), 3167);
    cache.put(367, 1962);
    cache.put(79, 2012);
    assert.equal(cache.get(132), 137);
    assert.equal(cache.get(992), 1729);
    cache.put(273, 1291);
    assert.equal(cache.get(314), 3159);
    assert.equal(cache.get(1117), 3224);
    cache.put(285, 2563);
    assert.equal(cache.get(527), 1508);
    cache.put(1320, 288);
    cache.put(1298, 594);
    cache.put(249, 958);
    cache.put(317, 301);
    cache.put(943, 2701);
    assert.equal(cache.get(1224), 2265);
    assert.equal(cache.get(1232), 3184);
    assert.equal(cache.get(822), 2124);
    cache.put(879, 774);
    assert.equal(cache.get(803), 2505);
    cache.put(1146, 2526);
    cache.put(1026, 3047);
    assert.equal(cache.get(619), 1691);
    cache.put(576, 1752);
    cache.put(1250, 3204);
    cache.put(1192, 1919);
    assert.equal(cache.get(570), 1290);
    cache.put(300, 173);
    cache.put(96, 2615);
    assert.equal(cache.get(525), 87);
    cache.put(238, 3213);
    cache.put(567, 167);
    cache.put(149, 3229);
    assert.equal(cache.get(1388), 2578);
    assert.equal(cache.get(17), 1072);
    cache.put(426, 611);
    assert.equal(cache.get(1112), null);
    assert.equal(cache.get(548), 1667);
    cache.put(319, 336);
    assert.equal(cache.get(839), 1956);
    assert.equal(cache.get(1204), 2699);
    assert.equal(cache.get(1212), null);
    cache.put(260, 1858);
    cache.put(1337, 191);
    cache.put(725, 1376);
    cache.put(305, 1282);
    assert.equal(cache.get(1108), 2917);
    assert.equal(cache.get(557), 2246);
    cache.put(659, 358);
    cache.put(1240, 2928);
    cache.put(443, 1375);
    cache.put(1092, 2322);
    cache.put(1317, 818);
    cache.put(282, 60);
    assert.equal(cache.get(1124), 1213);
    cache.put(212, 162);
    assert.equal(cache.get(873), 1185);
    assert.equal(cache.get(1008), 627);
    cache.put(1106, 1370);
    assert.equal(cache.get(602), 2946);
    cache.put(930, 871);
    assert.equal(cache.get(1191), 1926);
    cache.put(526, 3000);
    assert.equal(cache.get(1223), 1863);
    assert.equal(cache.get(881), 1159);
    assert.equal(cache.get(361), null);
    assert.equal(cache.get(678), 3083);
    assert.equal(cache.get(953), 1227);
    assert.equal(cache.get(1368), 6);
    assert.equal(cache.get(843), 22);
    cache.put(804, 1778);
    cache.put(847, 1693);
    cache.put(170, 3024);
    cache.put(1064, 2565);
    cache.put(751, 2324);
    cache.put(561, 618);
    cache.put(1158, 30);
    assert.equal(cache.get(202), 242);
    cache.put(68, 2785);
    cache.put(423, 749);
    assert.equal(cache.get(1294), 1528);
    cache.put(66, 143);
    cache.put(1166, 2354);
    assert.equal(cache.get(570), 1290);
    assert.equal(cache.get(1061), 1735);
    cache.put(273, 2541);
    cache.put(205, 2513);
    cache.put(454, 2531);
    assert.equal(cache.get(421), 2322);
    cache.put(940, 1026);
    cache.put(509, 581);
    cache.put(962, 355);
    assert.equal(cache.get(317), 301);
    assert.equal(cache.get(972), null);
    cache.put(202, 455);
    assert.equal(cache.get(947), 11);
    cache.put(308, 3161);
    assert.equal(cache.get(99), 2292);
    assert.equal(cache.get(257), 3301);
    assert.equal(cache.get(1158), 30);
    cache.put(1033, 2519);
    cache.put(1113, 489);
    cache.put(795, 247);
    assert.equal(cache.get(1364), 2601);
    cache.put(21, 761);
    cache.put(59, 3207);
    cache.put(107, 799);
    cache.put(375, 1322);
    cache.put(841, 1691);
    cache.put(1322, 2063);
    cache.put(684, 2032);
    assert.equal(cache.get(985), null);
    cache.put(1229, 1056);
    cache.put(520, 2354);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(307), 2891);
    assert.equal(cache.get(1260), null);
    cache.put(1055, 2856);
    assert.equal(cache.get(1357), null);
    assert.equal(cache.get(122), 3272);
    cache.put(473, 2815);
    assert.equal(cache.get(772), 799);
    cache.put(61, 1877);
    assert.equal(cache.get(1270), 419);
    assert.equal(cache.get(990), null);
    assert.equal(cache.get(218), 2801);
    assert.equal(cache.get(916), 3041);
    cache.put(734, 2153);
    assert.equal(cache.get(548), 1667);
    assert.equal(cache.get(533), null);
    assert.equal(cache.get(959), 787);
    cache.put(908, 918);
    assert.equal(cache.get(1175), 2548);
    cache.put(686, 129);
    assert.equal(cache.get(810), 1737);
    cache.put(447, 2487);
    assert.equal(cache.get(194), 1270);
    assert.equal(cache.get(849), null);
    cache.put(1022, 2304);
    cache.put(590, 1506);
    assert.equal(cache.get(771), 989);
    cache.put(1109, 3182);
    cache.put(190, 1434);
    cache.put(697, 2955);
    cache.put(1048, 2686);
    cache.put(84, 3039);
    cache.put(1240, 3028);
    assert.equal(cache.get(620), 1097);
    cache.put(376, 1440);
    cache.put(688, 1120);
    cache.put(900, 1463);
    cache.put(31, 1661);
    cache.put(887, 2300);
    cache.put(603, 1757);
    cache.put(714, 1331);
    cache.put(564, 2870);
    cache.put(1084, 393);
    assert.equal(cache.get(170), 3024);
    assert.equal(cache.get(927), 2952);
    cache.put(639, 1714);
    cache.put(1365, 1428);
    assert.equal(cache.get(850), 807);
    cache.put(1374, 905);
    cache.put(467, 1303);
    cache.put(696, 1421);
    cache.put(155, 21);
    assert.equal(cache.get(133), 1027);
    cache.put(1267, 1272);
    cache.put(1008, 1300);
    assert.equal(cache.get(530), 2373);
    assert.equal(cache.get(72), null);
    cache.put(344, 2904);
    cache.put(267, 2577);
    assert.equal(cache.get(10), 2898);
    cache.put(544, 1302);
    cache.put(1113, 2692);
    cache.put(842, 1252);
    assert.equal(cache.get(1353), null);
    cache.put(581, 253);
    assert.equal(cache.get(576), 1752);
    cache.put(537, 2771);
    assert.equal(cache.get(771), 989);
    cache.put(162, 2111);
    cache.put(40, 2570);
    cache.put(1306, 1245);
    assert.equal(cache.get(209), 246);
    assert.equal(cache.get(1345), 2605);
    cache.put(581, 2674);
    cache.put(471, 3105);
    cache.put(483, 439);
    cache.put(994, 2629);
    cache.put(895, 416);
    assert.equal(cache.get(765), null);
    assert.equal(cache.get(931), null);
    cache.put(95, 691);
    cache.put(31, 2620);
    cache.put(1362, 250);
    assert.equal(cache.get(1301), 1944);
    cache.put(255, 249);
    cache.put(1121, 1444);
    assert.equal(cache.get(986), 2801);
    assert.equal(cache.get(897), 3236);
    cache.put(37, 1087);
    assert.equal(cache.get(102), 1513);
    assert.equal(cache.get(322), 2939);
    cache.put(875, 3143);
    cache.put(893, 266);
    assert.equal(cache.get(910), null);
    cache.put(1133, 1874);
    cache.put(101, 1117);
    cache.put(58, 2998);
    assert.equal(cache.get(363), 1355);
    assert.equal(cache.get(197), 540);
    assert.equal(cache.get(602), 2946);
    assert.equal(cache.get(845), 2322);
    assert.equal(cache.get(909), 2023);
    cache.put(1335, 1345);
    cache.put(655, 1287);
    cache.put(1056, 375);
    cache.put(657, 3195);
    assert.equal(cache.get(473), 2815);
    assert.equal(cache.get(524), 2028);
    assert.equal(cache.get(917), 1982);
    cache.put(358, 1587);
    cache.put(793, 1422);
    assert.equal(cache.get(510), 2760);
    assert.equal(cache.get(265), 610);
    cache.put(1287, 2631);
    cache.put(470, 944);
    assert.equal(cache.get(272), null);
    assert.equal(cache.get(937), 2658);
    assert.equal(cache.get(1167), null);
    cache.put(365, 298);
    assert.equal(cache.get(116), 2628);
    assert.equal(cache.get(225), 3017);
    cache.put(804, 230);
    cache.put(39, 768);
    assert.equal(cache.get(1159), 1091);
    assert.equal(cache.get(282), 60);
    assert.equal(cache.get(578), 3057);
    assert.equal(cache.get(131), 1230);
    cache.put(243, 418);
    cache.put(752, 438);
    cache.put(973, 2373);
    cache.put(1131, 29);
    cache.put(1188, 3246);
    assert.equal(cache.get(1192), 1919);
    assert.equal(cache.get(1046), 2159);
    assert.equal(cache.get(1036), null);
    assert.equal(cache.get(315), null);
    assert.equal(cache.get(1138), 1480);
    assert.equal(cache.get(981), null);
    assert.equal(cache.get(78), null);
    cache.put(726, 1658);
    assert.equal(cache.get(122), 3272);
    cache.put(262, 2220);
    assert.equal(cache.get(791), 1894);
    cache.put(497, 1559);
    assert.equal(cache.get(542), 714);
    assert.equal(cache.get(1414), 802);
    cache.put(723, 472);
    assert.equal(cache.get(794), null);
    cache.put(379, 2686);
    cache.put(356, 2832);
    assert.equal(cache.get(696), 1421);
    assert.equal(cache.get(1186), 2673);
    assert.equal(cache.get(707), 1036);
    assert.equal(cache.get(895), 416);
    assert.equal(cache.get(47), 737);
    cache.put(1233, 46);
    assert.equal(cache.get(743), 711);
    assert.equal(cache.get(503), 853);
    cache.put(1123, 1947);
    cache.put(126, 2468);
    cache.put(1068, 434);
    assert.equal(cache.get(88), 1748);
    assert.equal(cache.get(825), 2072);
    cache.put(1075, 1868);
    assert.equal(cache.get(171), 862);
    assert.equal(cache.get(794), null);
    assert.equal(cache.get(515), 2598);
    cache.put(691, 2970);
    assert.equal(cache.get(129), 585);
    cache.put(621, 1989);
    assert.equal(cache.get(754), 876);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(492), 1004);
    cache.put(99, 1739);
    cache.put(1241, 3181);
    cache.put(35, 973);
    assert.equal(cache.get(943), 2701);
    assert.equal(cache.get(1382), 704);
    assert.equal(cache.get(698), 1986);
    assert.equal(cache.get(579), 2139);
    assert.equal(cache.get(1215), 3297);
    cache.put(808, 409);
    assert.equal(cache.get(273), 2541);
    cache.put(614, 467);
    cache.put(1011, 213);
    cache.put(570, 916);
    cache.put(1335, 2344);
    assert.equal(cache.get(591), 3022);
    cache.put(227, 1911);
    cache.put(708, 3264);
    assert.equal(cache.get(846), 3194);
    cache.put(774, 115);
    cache.put(806, 1342);
    cache.put(1273, 2734);
    assert.equal(cache.get(920), 1505);
    cache.put(286, 740);
    assert.equal(cache.get(738), null);
    assert.equal(cache.get(1281), 1316);
    cache.put(1376, 117);
    cache.put(1049, 48);
    cache.put(1031, 274);
    cache.put(93, 1465);
    cache.put(1263, 57);
    assert.equal(cache.get(514), 630);
    assert.equal(cache.get(1057), 886);
    cache.put(844, 461);
    assert.equal(cache.get(497), 1559);
    cache.put(1014, 1820);
    cache.put(656, 1327);
    cache.put(432, 3153);
    cache.put(404, 1606);
    cache.put(71, 1800);
    assert.equal(cache.get(1126), 450);
    assert.equal(cache.get(1243), 2443);
    assert.equal(cache.get(949), null);
    assert.equal(cache.get(526), 3000);
    cache.put(1220, 46);
    assert.equal(cache.get(661), 1731);
    assert.equal(cache.get(338), null);
    assert.equal(cache.get(1250), 3204);
    cache.put(346, 1317);
    cache.put(1232, 2828);
    cache.put(214, 3100);
    cache.put(512, 608);
    cache.put(65, 232);
    cache.put(98, 2665);
    cache.put(182, 3214);
    cache.put(426, 2524);
    cache.put(1090, 2931);
    assert.equal(cache.get(821), 1588);
    cache.put(972, 323);
    cache.put(121, 592);
    assert.equal(cache.get(915), null);
    assert.equal(cache.get(678), 3083);
    cache.put(767, 1123);
    assert.equal(cache.get(336), 1235);
    cache.put(488, 548);
    cache.put(1372, 519);
    cache.put(474, 567);
    cache.put(37, 578);
    assert.equal(cache.get(519), 2068);
    assert.equal(cache.get(572), 1552);
    assert.equal(cache.get(419), 1110);
    cache.put(867, 1729);
    cache.put(944, 2763);
    assert.equal(cache.get(538), null);
    assert.equal(cache.get(392), 3002);
    cache.put(1159, 2715);
    assert.equal(cache.get(1417), 1621);
    assert.equal(cache.get(756), 2669);
    cache.put(742, 2509);
    assert.equal(cache.get(865), 2568);
    cache.put(1264, 767);
    assert.equal(cache.get(127), 3152);
    cache.put(921, 492);
    assert.equal(cache.get(1319), null);
    assert.equal(cache.get(616), 568);
    cache.put(239, 813);
    cache.put(1392, 3283);
    assert.equal(cache.get(54), 569);
    assert.equal(cache.get(1223), 1863);
    cache.put(540, 1240);
    cache.put(727, 2843);
    cache.put(707, 652);
    assert.equal(cache.get(1077), 335);
    cache.put(968, 1545);
    assert.equal(cache.get(1247), null);
    cache.put(116, 1826);
    assert.equal(cache.get(745), 1702);
    cache.put(389, 3045);
    cache.put(356, 661);
    cache.put(613, 2355);
    cache.put(935, 1923);
    cache.put(473, 768);
    cache.put(774, 572);
    assert.equal(cache.get(1274), 1094);
    cache.put(44, 695);
    cache.put(781, 959);
    cache.put(919, 955);
    cache.put(96, 1631);
    cache.put(112, 2459);
    assert.equal(cache.get(740), null);
    cache.put(67, 376);
    assert.equal(cache.get(1074), 2864);
    assert.equal(cache.get(610), 2218);
    cache.put(1393, 2305);
    cache.put(365, 2938);
    assert.equal(cache.get(61), null);
    assert.equal(cache.get(1016), 981);
    cache.put(967, 1187);
    cache.put(206, 599);
    cache.put(188, 2814);
    cache.put(306, 1254);
    cache.put(761, 1439);
    cache.put(410, 3145);
    assert.equal(cache.get(738), null);
    cache.put(1057, 1748);
    assert.equal(cache.get(55), 55);
    cache.put(23, 2328);
    assert.equal(cache.get(108), null);
    assert.equal(cache.get(1270), 419);
    cache.put(95, 536);
    cache.put(637, 983);
    assert.equal(cache.get(535), 1544);
    assert.equal(cache.get(1131), null);
    assert.equal(cache.get(974), null);
    cache.put(94, 1529);
    cache.put(931, 3166);
    assert.equal(cache.get(218), 2801);
    assert.equal(cache.get(997), 2540);
    cache.put(377, 2161);
    cache.put(987, 1201);
    cache.put(1098, 1983);
    cache.put(804, 3186);
    cache.put(808, 2573);
    cache.put(662, 1977);
    cache.put(837, 2425);
    assert.equal(cache.get(188), 2814);
    cache.put(996, 1121);
    cache.put(131, 1289);
    assert.equal(cache.get(433), null);
    cache.put(1430, 2099);
    cache.put(256, 2746);
    assert.equal(cache.get(862), 255);
    cache.put(76, 2189);
    cache.put(49, 2133);
    assert.equal(cache.get(1104), null);
    assert.equal(cache.get(951), 1557);
    cache.put(1346, 165);
    assert.equal(cache.get(356), 661);
    assert.equal(cache.get(647), 411);
    assert.equal(cache.get(534), 1804);
    cache.put(773, 2916);
    assert.equal(cache.get(837), 2425);
    cache.put(1267, 1419);
    cache.put(631, 137);
    assert.equal(cache.get(500), null);
    assert.equal(cache.get(412), 2078);
    cache.put(3, 1816);
    cache.put(1242, 445);
    cache.put(33, 3065);
    assert.equal(cache.get(1203), 1265);
    cache.put(248, 2913);
    assert.equal(cache.get(1268), 2819);
    assert.equal(cache.get(535), 1544);
    assert.equal(cache.get(640), 2381);
    assert.equal(cache.get(1152), null);
    assert.equal(cache.get(1057), 1748);
    assert.equal(cache.get(530), 2373);
    cache.put(215, 426);
    cache.put(1208, 1042);
    assert.equal(cache.get(389), 3045);
    cache.put(1107, 2616);
    cache.put(970, 1425);
    cache.put(1123, 1263);
    assert.equal(cache.get(1354), 1318);
    cache.put(339, 1480);
    assert.equal(cache.get(219), 560);
    cache.put(273, 67);
    cache.put(204, 2294);
    assert.equal(cache.get(1378), 1126);
    cache.put(52, 1582);
    assert.equal(cache.get(662), 1977);
    cache.put(1209, 745);
    assert.equal(cache.get(965), 489);
    assert.equal(cache.get(673), null);
    cache.put(15, 32);
    assert.equal(cache.get(517), null);
    cache.put(20, 2233);
    assert.equal(cache.get(744), 538);
    cache.put(1253, 3067);
    cache.put(1260, 2243);
    cache.put(460, 3085);
    cache.put(1274, 1751);
    assert.equal(cache.get(329), 2028);
    cache.put(850, 1916);
    assert.equal(cache.get(441), 1620);
    cache.put(865, 1755);
    assert.equal(cache.get(495), 2203);
    assert.equal(cache.get(1372), 519);
    assert.equal(cache.get(1375), 1591);
    cache.put(341, 249);
    cache.put(247, 2563);
    cache.put(47, 1162);
    assert.equal(cache.get(303), 2736);
    cache.put(1179, 3108);
    assert.equal(cache.get(616), 568);
    assert.equal(cache.get(904), 1636);
    cache.put(1229, 750);
    assert.equal(cache.get(621), null);
    cache.put(992, 603);
    assert.equal(cache.get(101), 1117);
    assert.equal(cache.get(866), 56);
    cache.put(340, 1398);
    assert.equal(cache.get(831), 1264);
    cache.put(167, 2806);
    assert.equal(cache.get(1026), null);
    assert.equal(cache.get(1345), 2605);
    cache.put(1422, 35);
    assert.equal(cache.get(1157), 968);
    assert.equal(cache.get(858), 2745);
    assert.equal(cache.get(1005), 1384);
    cache.put(805, 2715);
    cache.put(1285, 774);
    cache.put(1043, 2085);
    assert.equal(cache.get(787), 1541);
    assert.equal(cache.get(227), 1911);
    assert.equal(cache.get(425), 1193);
    assert.equal(cache.get(597), null);
    cache.put(808, 1222);
    assert.equal(cache.get(1179), 3108);
    assert.equal(cache.get(1252), 1907);
    cache.put(197, 2008);
    cache.put(240, 1218);
    cache.put(830, 1880);
    cache.put(1071, 2667);
    cache.put(597, 1452);
    assert.equal(cache.get(1406), 2978);
    cache.put(1058, 96);
    assert.equal(cache.get(1074), 2864);
    assert.equal(cache.get(468), null);
    cache.put(1196, 1331);
    cache.put(171, 2108);
    assert.equal(cache.get(1108), 2917);
    assert.equal(cache.get(689), 1374);
    cache.put(638, 2515);
    cache.put(773, 1876);
    assert.equal(cache.get(660), null);
    assert.equal(cache.get(921), 492);
    cache.put(1051, 3300);
    cache.put(735, 2592);
    cache.put(1141, 1954);
    cache.put(11, 2463);
    cache.put(394, 866);
    cache.put(856, 3040);
    assert.equal(cache.get(1219), 1850);
    assert.equal(cache.get(610), 2218);
    cache.put(1070, 1833);
    cache.put(396, 2477);
    assert.equal(cache.get(758), 3144);
    cache.put(462, 2556);
    assert.equal(cache.get(464), 2046);
    assert.equal(cache.get(338), null);
    cache.put(1096, 225);
    cache.put(115, 313);
    cache.put(1358, 1278);
    assert.equal(cache.get(1011), null);
    assert.equal(cache.get(522), null);
    assert.equal(cache.get(168), 1098);
    cache.put(155, 882);
    cache.put(1119, 935);
    cache.put(1374, 1367);
    cache.put(750, 1070);
    assert.equal(cache.get(413), 3144);
    cache.put(1404, 331);
    assert.equal(cache.get(985), null);
    assert.equal(cache.get(1399), 343);
    assert.equal(cache.get(186), 2523);
    cache.put(730, 3038);
    cache.put(1402, 1924);
    assert.equal(cache.get(333), 3046);
    assert.equal(cache.get(565), 718);
    assert.equal(cache.get(437), 1669);
    assert.equal(cache.get(1174), 1308);
    assert.equal(cache.get(266), 1317);
    cache.put(957, 1983);
    cache.put(907, 1896);
    cache.put(164, 2432);
    assert.equal(cache.get(1218), 1153);
    assert.equal(cache.get(284), 391);
    assert.equal(cache.get(1401), 2304);
    cache.put(628, 377);
    cache.put(656, 2506);
    assert.equal(cache.get(981), null);
    assert.equal(cache.get(230), 2742);
    assert.equal(cache.get(364), 840);
    assert.equal(cache.get(61), null);
    cache.put(1234, 2082);
    cache.put(257, 2136);
    assert.equal(cache.get(108), null);
    cache.put(597, 1321);
    cache.put(1336, 1635);
    assert.equal(cache.get(357), null);
    cache.put(265, 2966);
    cache.put(417, 2544);
    cache.put(1171, 2684);
    cache.put(1357, 2460);
    cache.put(221, 2144);
    assert.equal(cache.get(1251), 1208);
    cache.put(773, 1540);
    cache.put(923, 1508);
    cache.put(401, 1592);
    assert.equal(cache.get(322), 2939);
    cache.put(901, 2544);
    assert.equal(cache.get(929), null);
    cache.put(1084, 998);
    cache.put(1405, 1054);
    cache.put(342, 1109);
    cache.put(341, 2766);
    cache.put(920, 974);
    assert.equal(cache.get(1374), 1367);
    assert.equal(cache.get(1302), 895);
    cache.put(496, 2788);
    cache.put(671, 1846);
    cache.put(284, 918);
    cache.put(388, 2649);
    assert.equal(cache.get(213), null);
    assert.equal(cache.get(627), null);
    assert.equal(cache.get(1268), 2819);
    assert.equal(cache.get(68), 2785);
    cache.put(1243, 1797);
    assert.equal(cache.get(66), 143);
    cache.put(57, 1135);
    assert.equal(cache.get(784), 1615);
    assert.equal(cache.get(363), 1355);
    assert.equal(cache.get(867), null);
    assert.equal(cache.get(339), 1480);
    cache.put(1386, 832);
    cache.put(1320, 1828);
    assert.equal(cache.get(214), null);
    cache.put(655, 609);
    cache.put(697, 692);
    cache.put(648, 508);
    cache.put(1062, 1360);
    assert.equal(cache.get(1168), 3182);
    cache.put(623, 1985);
    cache.put(595, 1442);
    cache.put(166, 249);
    cache.put(491, 857);
    assert.equal(cache.get(1421), 1087);
    cache.put(73, 3161);
    assert.equal(cache.get(763), 1269);
    cache.put(470, 1928);
    cache.put(482, 1183);
    assert.equal(cache.get(876), null);
    cache.put(763, 2364);
    assert.equal(cache.get(118), 759);
    cache.put(1403, 232);
    cache.put(218, 2180);
    assert.equal(cache.get(137), 2159);
    assert.equal(cache.get(1139), 1174);
    cache.put(875, 828);
    cache.put(727, 2219);
    assert.equal(cache.get(1130), 618);
    assert.equal(cache.get(1266), 2403);
    cache.put(808, 1208);
    cache.put(141, 2909);
    assert.equal(cache.get(725), null);
    assert.equal(cache.get(1071), 2667);
    cache.put(1245, 890);
    assert.equal(cache.get(567), null);
    assert.equal(cache.get(1393), null);
    assert.equal(cache.get(687), 882);
    assert.equal(cache.get(1013), null);
    cache.put(281, 1253);
    assert.equal(cache.get(1), 1417);
    assert.equal(cache.get(67), 376);
    cache.put(1042, 2732);
    cache.put(232, 1001);
    cache.put(925, 1317);
    assert.equal(cache.get(786), null);
    cache.put(1368, 3000);
    assert.equal(cache.get(471), 3105);
    cache.put(43, 1778);
    assert.equal(cache.get(206), 599);
    cache.put(740, 1536);
    cache.put(398, 1680);
    assert.equal(cache.get(1254), 2928);
    assert.equal(cache.get(1376), null);
    assert.equal(cache.get(405), 1517);
    cache.put(416, 2632);
    assert.equal(cache.get(1066), 575);
    cache.put(318, 1871);
    cache.put(224, 2085);
    cache.put(386, 802);
    cache.put(1127, 111);
    cache.put(1330, 908);
    cache.put(1138, 562);
    cache.put(1049, 188);
    assert.equal(cache.get(164), 2432);
    assert.equal(cache.get(739), 1179);
    assert.equal(cache.get(1285), 774);
    cache.put(630, 756);
    cache.put(854, 1779);
    assert.equal(cache.get(326), 1410);
    assert.equal(cache.get(730), 3038);
    assert.equal(cache.get(860), null);
    cache.put(488, 1871);
    assert.equal(cache.get(182), 3214);
    assert.equal(cache.get(896), 495);
    cache.put(1171, 64);
    assert.equal(cache.get(1146), null);
    assert.equal(cache.get(452), 3271);
    cache.put(301, 2101);
    cache.put(388, 2101);
    cache.put(1305, 2316);
    assert.equal(cache.get(410), 3145);
    cache.put(394, 1923);
    assert.equal(cache.get(1289), null);
    cache.put(916, 1080);
    cache.put(1277, 3096);
    cache.put(740, 2979);
    cache.put(620, 1753);
    assert.equal(cache.get(616), 568);
    cache.put(624, 2497);
    cache.put(455, 3269);
    cache.put(394, 3297);
    assert.equal(cache.get(1377), 2600);
    cache.put(310, 1208);
    cache.put(310, 2940);
    assert.equal(cache.get(309), 915);
    assert.equal(cache.get(326), 1410);
    cache.put(690, 1294);
    assert.equal(cache.get(1054), 3260);
    assert.equal(cache.get(646), null);
    cache.put(486, 1688);
    cache.put(1259, 2952);
    cache.put(241, 1728);
    assert.equal(cache.get(1089), null);
    assert.equal(cache.get(1029), 1706);
    cache.put(724, 1354);
    cache.put(1319, 2755);
    assert.equal(cache.get(1281), 1316);
    cache.put(597, 66);
    cache.put(1162, 934);
    cache.put(313, 1334);
    cache.put(840, 468);
    cache.put(1117, 127);
    assert.equal(cache.get(1155), 416);
    cache.put(520, 1340);
    cache.put(1172, 2326);
    assert.equal(cache.get(353), 56);
    assert.equal(cache.get(940), 1026);
    assert.equal(cache.get(339), 1480);
    cache.put(1237, 2203);
    cache.put(1389, 1621);
    cache.put(1339, 3203);
    assert.equal(cache.get(682), 3156);
    cache.put(1036, 338);
    assert.equal(cache.get(1014), 1820);
    cache.put(150, 1430);
    cache.put(204, 1604);
    cache.put(659, 2195);
    assert.equal(cache.get(1140), null);
    assert.equal(cache.get(711), 2609);
    cache.put(1188, 2317);
    assert.equal(cache.get(1197), null);
    cache.put(1157, 1928);
    cache.put(1078, 3291);
    cache.put(28, 365);
    cache.put(158, 3073);
    cache.put(1204, 2402);
    cache.put(1034, 3217);
    cache.put(560, 3025);
    cache.put(545, 2088);
    cache.put(383, 1404);
    cache.put(788, 1721);
    cache.put(1270, 2073);
    cache.put(1427, 987);
    cache.put(1324, 736);
    cache.put(556, 35);
    assert.equal(cache.get(112), 2459);
    cache.put(495, 13);
    assert.equal(cache.get(1257), 1238);
    assert.equal(cache.get(216), 3088);
    cache.put(644, 2305);
    cache.put(704, 1745);
    cache.put(655, 1416);
    assert.equal(cache.get(1165), 1575);
    cache.put(590, 339);
    cache.put(594, 368);
    cache.put(628, 135);
    cache.put(1253, 2662);
    cache.put(1198, 1949);
    cache.put(81, 624);
    cache.put(110, 2648);
    cache.put(632, 973);
    cache.put(548, 1349);
    cache.put(974, 428);
    cache.put(1328, 382);
    cache.put(1233, 1868);
    assert.equal(cache.get(200), 610);
    cache.put(463, 1154);
    cache.put(91, 1050);
    cache.put(1349, 695);
    assert.equal(cache.get(1163), 1699);
    assert.equal(cache.get(206), 599);
    cache.put(15, 681);
    cache.put(1146, 1137);
    assert.equal(cache.get(476), null);
    assert.equal(cache.get(861), null);
    cache.put(1305, 3291);
    cache.put(698, 444);
    assert.equal(cache.get(72), null);
    cache.put(217, 265);
    cache.put(687, 2577);
    cache.put(260, 3112);
    assert.equal(cache.get(767), 1123);
    assert.equal(cache.get(445), 592);
    cache.put(819, 2593);
    cache.put(312, 633);
    assert.equal(cache.get(193), 820);
    cache.put(1135, 375);
    assert.equal(cache.get(1175), 2548);
    cache.put(884, 2231);
    assert.equal(cache.get(574), 2699);
    assert.equal(cache.get(1119), 935);
    cache.put(28, 2691);
    cache.put(929, 1982);
    cache.put(436, 651);
    cache.put(865, 1543);
    assert.equal(cache.get(804), 3186);
    cache.put(668, 39);
    cache.put(327, 1861);
    cache.put(1164, 1388);
    assert.equal(cache.get(388), 2101);
    cache.put(1320, 1899);
    cache.put(821, 1428);
    cache.put(640, 2543);
    assert.equal(cache.get(1092), 2322);
    assert.equal(cache.get(680), null);
    cache.put(776, 585);
    cache.put(384, 1140);
    assert.equal(cache.get(893), 266);
    assert.equal(cache.get(1274), 1751);
    cache.put(1070, 118);
    cache.put(499, 959);
    cache.put(746, 3040);
    cache.put(241, 1187);
    cache.put(404, 1401);
    assert.equal(cache.get(353), 56);
    cache.put(929, 509);
    cache.put(304, 2831);
    cache.put(333, 920);
    cache.put(1306, 1986);
    cache.put(1118, 2254);
    assert.equal(cache.get(1074), 2864);
    cache.put(1367, 876);
    cache.put(585, 1912);
    cache.put(931, 876);
    cache.put(274, 1043);
    cache.put(845, 387);
    assert.equal(cache.get(52), 1582);
    cache.put(631, 905);
    cache.put(1093, 1302);
    cache.put(819, 1154);
    cache.put(430, 975);
    cache.put(1226, 2642);
    assert.equal(cache.get(486), 1688);
    cache.put(669, 3176);
    assert.equal(cache.get(985), null);
    cache.put(1300, 1112);
    cache.put(1009, 2691);
    cache.put(920, 1210);
    cache.put(3, 2477);
    cache.put(603, 1002);
    assert.equal(cache.get(195), 2190);
    assert.equal(cache.get(1165), 1575);
    assert.equal(cache.get(1), 1417);
    cache.put(576, 531);
    cache.put(88, 1743);
    cache.put(370, 1256);
    assert.equal(cache.get(270), 487);
    cache.put(891, 2805);
    assert.equal(cache.get(1084), 998);
    cache.put(1036, 3045);
    assert.equal(cache.get(135), 2872);
    cache.put(1069, 656);
    cache.put(782, 2243);
    cache.put(650, 2121);
    assert.equal(cache.get(505), 1639);
    cache.put(273, 1718);
    assert.equal(cache.get(300), null);
    cache.put(1156, 115);
    assert.equal(cache.get(1127), 111);
    assert.equal(cache.get(206), 599);
    cache.put(1069, 654);
    cache.put(933, 2302);
    cache.put(244, 2462);
    assert.equal(cache.get(1133), null);
    cache.put(469, 113);
    assert.equal(cache.get(1023), 3136);
    assert.equal(cache.get(751), 2324);
    assert.equal(cache.get(911), 460);
    assert.equal(cache.get(1154), 3132);
    assert.equal(cache.get(731), 2513);
    cache.put(356, 379);
    cache.put(804, 1517);
    cache.put(570, 440);
    assert.equal(cache.get(87), 2690);
    cache.put(1096, 2173);
    assert.equal(cache.get(635), 2554);
    cache.put(1416, 2111);
    cache.put(475, 1740);
    assert.equal(cache.get(1355), 1661);
    assert.equal(cache.get(409), 2966);
    assert.equal(cache.get(714), 1331);
    cache.put(589, 1823);
    cache.put(1166, 856);
    cache.put(1187, 804);
    assert.equal(cache.get(356), 379);
    cache.put(524, 2251);
    assert.equal(cache.get(3), 2477);
    assert.equal(cache.get(668), 39);
    cache.put(787, 1716);
    cache.put(1381, 125);
    assert.equal(cache.get(1227), null);
    assert.equal(cache.get(939), 186);
    cache.put(841, 534);
    cache.put(1371, 1560);
    cache.put(426, 3085);
    assert.equal(cache.get(879), 774);
    assert.equal(cache.get(1063), 1525);
    cache.put(1156, 1972);
    assert.equal(cache.get(114), 500);
    cache.put(684, 292);
    assert.equal(cache.get(745), 1702);
    cache.put(1195, 1216);
    cache.put(746, 2696);
    cache.put(340, 1067);
    cache.put(722, 884);
    assert.equal(cache.get(360), null);
    cache.put(1012, 914);
    cache.put(965, 191);
    cache.put(1058, 1399);
    cache.put(30, 834);
    cache.put(1082, 1232);
    assert.equal(cache.get(156), 3117);
    assert.equal(cache.get(1282), 2607);
    cache.put(106, 2457);
    cache.put(728, 2782);
    assert.equal(cache.get(1145), 2415);
    assert.equal(cache.get(906), 1128);
    assert.equal(cache.get(1121), null);
    assert.equal(cache.get(872), 3175);
    cache.put(971, 1047);
    cache.put(954, 1029);
    assert.equal(cache.get(7), 3251);
    cache.put(2, 2394);
    cache.put(602, 2498);
    assert.equal(cache.get(271), 1870);
    assert.equal(cache.get(1191), 1926);
    cache.put(641, 1851);
    assert.equal(cache.get(1201), 1808);
    cache.put(944, 2759);
    cache.put(302, 510);
    assert.equal(cache.get(842), null);
    assert.equal(cache.get(114), 500);
    cache.put(944, 2111);
    cache.put(840, 3164);
    cache.put(305, 1755);
    assert.equal(cache.get(956), 450);
    assert.equal(cache.get(957), null);
    assert.equal(cache.get(152), 2080);
    cache.put(971, 2865);
    assert.equal(cache.get(487), 1847);
    cache.put(1134, 206);
    assert.equal(cache.get(1399), 343);
    cache.put(1295, 2107);
    cache.put(471, 3053);
    cache.put(529, 1818);
    assert.equal(cache.get(1033), 2519);
    assert.equal(cache.get(1099), 1813);
    cache.put(63, 2954);
    cache.put(979, 1167);
    cache.put(301, 2702);
    cache.put(640, 2087);
    cache.put(212, 2058);
    cache.put(1017, 775);
    cache.put(451, 507);
    cache.put(998, 32);
    assert.equal(cache.get(1316), 1492);
    assert.equal(cache.get(81), 624);
    cache.put(1104, 2047);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(377), null);
    cache.put(470, 2097);
    cache.put(84, 547);
    cache.put(254, 2946);
    cache.put(551, 36);
    assert.equal(cache.get(526), 3000);
    assert.equal(cache.get(1204), 2402);
    assert.equal(cache.get(350), 2728);
    assert.equal(cache.get(1134), 206);
    assert.equal(cache.get(77), null);
    cache.put(391, 2148);
    assert.equal(cache.get(431), 623);
    cache.put(176, 1937);
    assert.equal(cache.get(162), null);
    cache.put(1148, 841);
    assert.equal(cache.get(365), 2938);
    cache.put(256, 925);
    cache.put(681, 2557);
    cache.put(1112, 2155);
    assert.equal(cache.get(310), 2940);
    assert.equal(cache.get(258), 929);
    assert.equal(cache.get(1242), null);
    assert.equal(cache.get(1295), 2107);
    cache.put(539, 2534);
    assert.equal(cache.get(1051), 3300);
    cache.put(771, 19);
    cache.put(1090, 761);
    cache.put(78, 2102);
    assert.equal(cache.get(962), 355);
    cache.put(874, 787);
    assert.equal(cache.get(166), null);
    assert.equal(cache.get(245), 955);
    cache.put(58, 1585);
    assert.equal(cache.get(1168), 3182);
    assert.equal(cache.get(496), 2788);
    assert.equal(cache.get(1401), 2304);
    cache.put(1411, 323);
    cache.put(1061, 3046);
    assert.equal(cache.get(1427), 987);
    cache.put(43, 2173);
    assert.equal(cache.get(1203), 1265);
    cache.put(1216, 510);
    assert.equal(cache.get(1134), 206);
    assert.equal(cache.get(305), 1755);
    cache.put(360, 2227);
    assert.equal(cache.get(1071), 2667);
    cache.put(27, 2338);
    assert.equal(cache.get(1305), 3291);
    cache.put(1261, 2865);
    assert.equal(cache.get(766), 1178);
    assert.equal(cache.get(1181), 3170);
    cache.put(620, 2978);
    cache.put(509, 664);
    cache.put(1278, 1711);
    cache.put(670, 871);
    cache.put(193, 2543);
    cache.put(791, 232);
    assert.equal(cache.get(1138), 562);
    cache.put(723, 2938);
    assert.equal(cache.get(672), 1281);
    cache.put(1223, 295);
    assert.equal(cache.get(363), 1355);
    cache.put(717, 371);
    cache.put(280, 2713);
    assert.equal(cache.get(664), null);
    assert.equal(cache.get(299), null);
    cache.put(1195, 2445);
    assert.equal(cache.get(887), 2300);
    assert.equal(cache.get(673), null);
    cache.put(1380, 2946);
    assert.equal(cache.get(130), 1904);
    assert.equal(cache.get(910), null);
    cache.put(458, 878);
    cache.put(294, 1043);
    cache.put(962, 471);
    cache.put(1301, 2006);
    cache.put(1094, 3047);
    assert.equal(cache.get(387), 2267);
    assert.equal(cache.get(217), 265);
    cache.put(1091, 1230);
    cache.put(372, 2983);
    assert.equal(cache.get(651), 3170);
    cache.put(1194, 708);
    assert.equal(cache.get(1137), 1279);
    cache.put(344, 772);
    assert.equal(cache.get(805), null);
    assert.equal(cache.get(978), 1179);
    cache.put(440, 1054);
    assert.equal(cache.get(185), 1439);
    cache.put(70, 2666);
    cache.put(1383, 2842);
    cache.put(1425, 2565);
    cache.put(478, 606);
    cache.put(831, 1105);
    assert.equal(cache.get(1286), 914);
    cache.put(958, 2701);
    cache.put(668, 3035);
    cache.put(273, 1576);
    cache.put(758, 1619);
    assert.equal(cache.get(1377), 2600);
    assert.equal(cache.get(561), 618);
    cache.put(1038, 949);
    cache.put(522, 1841);
    assert.equal(cache.get(143), null);
    assert.equal(cache.get(1226), null);
    cache.put(375, 795);
    cache.put(1005, 491);
    cache.put(347, 2201);
    cache.put(1232, 3262);
    assert.equal(cache.get(728), null);
    cache.put(960, 3128);
    assert.equal(cache.get(1036), null);
    cache.put(165, 425);
    cache.put(140, 2904);
    assert.equal(cache.get(1312), 1733);
    cache.put(548, 1134);
    cache.put(1100, 1427);
    cache.put(714, 883);
    cache.put(468, 759);
    cache.put(328, 2211);
    assert.equal(cache.get(1425), 2565);
    cache.put(1061, 1899);
    assert.equal(cache.get(1001), null);
    assert.equal(cache.get(514), 630);
    cache.put(612, 1423);
    cache.put(343, 2741);
    cache.put(1247, 745);
    assert.equal(cache.get(44), 695);
    assert.equal(cache.get(1317), 818);
    cache.put(438, 866);
    assert.equal(cache.get(464), 2046);
    assert.equal(cache.get(722), 884);
    cache.put(24, 2198);
    cache.put(805, 2215);
    cache.put(1178, 361);
    cache.put(270, 1821);
    cache.put(1231, 485);
    assert.equal(cache.get(168), 1098);
    assert.equal(cache.get(1335), 2344);
    cache.put(893, 276);
    cache.put(808, 937);
    assert.equal(cache.get(545), 2088);
    assert.equal(cache.get(1272), 514);
    cache.put(43, 2771);
    cache.put(1339, 684);
    assert.equal(cache.get(795), null);
    cache.put(794, 3264);
    cache.put(719, 2549);
    assert.equal(cache.get(963), 305);
    assert.equal(cache.get(355), 1747);
    cache.put(682, 2892);
    assert.equal(cache.get(1353), null);
    cache.put(735, 3026);
    cache.put(564, 203);
    assert.equal(cache.get(1095), 860);
    cache.put(111, 2767);
    cache.put(636, 267);
    cache.put(147, 2770);
    cache.put(269, 3297);
    cache.put(952, 2366);
    cache.put(1231, 1738);
    cache.put(575, 2010);
    assert.equal(cache.get(8), 911);
    assert.equal(cache.get(506), 1623);
    cache.put(1377, 1028);
    cache.put(25, 678);
    cache.put(1263, 2466);
    assert.equal(cache.get(725), null);
    cache.put(1200, 1772);
    cache.put(855, 1064);
    cache.put(72, 504);
    cache.put(445, 582);
    assert.equal(cache.get(566), 949);
    cache.put(777, 1417);
    assert.equal(cache.get(1383), 2842);
    cache.put(100, 2282);
    cache.put(1381, 850);
    cache.put(1371, 2481);
    assert.equal(cache.get(660), null);
    cache.put(1330, 2426);
    cache.put(230, 1590);
    cache.put(327, 971);
    cache.put(1033, 720);
    cache.put(146, 3270);
    cache.put(78, 2322);
    cache.put(190, 1407);
    cache.put(555, 1589);
    cache.put(284, 2122);
    assert.equal(cache.get(161), null);
    cache.put(446, 874);
    cache.put(769, 1675);
    cache.put(383, 2821);
    cache.put(824, 3031);
    cache.put(428, 2247);
    cache.put(1284, 1783);
    cache.put(846, 2233);
    assert.equal(cache.get(796), 242);
    cache.put(752, 25);
    cache.put(23, 188);
    cache.put(345, 2086);
    cache.put(14, 1589);
    assert.equal(cache.get(179), null);
    assert.equal(cache.get(1094), null);
    assert.equal(cache.get(25), 678);
    cache.put(1122, 2114);
    cache.put(563, 1601);
    assert.equal(cache.get(1083), null);
    assert.equal(cache.get(1176), 496);
    cache.put(26, 1180);
    assert.equal(cache.get(848), null);
    assert.equal(cache.get(985), null);
    assert.equal(cache.get(192), 2702);
    cache.put(15, 792);
    cache.put(674, 2677);
    assert.equal(cache.get(990), null);
    cache.put(147, 2259);
    assert.equal(cache.get(918), 670);
    cache.put(533, 1666);
    assert.equal(cache.get(20), 2233);
    cache.put(592, 2744);
    assert.equal(cache.get(1285), 774);
    cache.put(442, 3022);
    cache.put(704, 1676);
    cache.put(61, 2670);
    cache.put(1217, 2313);
    cache.put(652, 1659);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(1363), 1627);
    cache.put(154, 2259);
    cache.put(1368, 1320);
    assert.equal(cache.get(507), 50);
    cache.put(1145, 2157);
    assert.equal(cache.get(1166), 856);
    cache.put(1248, 1738);
    assert.equal(cache.get(524), 2251);
    cache.put(1148, 2033);
    assert.equal(cache.get(6), null);
    assert.equal(cache.get(830), 1880);
    cache.put(655, 2993);
    assert.equal(cache.get(850), 1916);
    assert.equal(cache.get(1240), 3028);
    cache.put(239, 735);
    cache.put(1194, 2554);
    cache.put(1020, 369);
    cache.put(100, 1122);
    cache.put(164, 1893);
    cache.put(1037, 2411);
    cache.put(1280, 1356);
    cache.put(1026, 1585);
    assert.equal(cache.get(450), 644);
    cache.put(894, 1276);
    cache.put(233, 1399);
    cache.put(673, 535);
    cache.put(1412, 3057);
    cache.put(187, 916);
    cache.put(297, 673);
    cache.put(1060, 142);
    assert.equal(cache.get(1375), 1591);
    assert.equal(cache.get(1360), 1041);
    assert.equal(cache.get(631), 905);
    cache.put(1399, 1212);
    assert.equal(cache.get(1014), 1820);
    assert.equal(cache.get(431), 623);
    assert.equal(cache.get(674), 2677);
    assert.equal(cache.get(44), 695);
    cache.put(491, 141);
    cache.put(303, 1406);
    cache.put(691, 2428);
    assert.equal(cache.get(43), 2771);
    assert.equal(cache.get(237), 830);
    assert.equal(cache.get(292), 636);
    cache.put(174, 3263);
    assert.equal(cache.get(700), 1962);
    cache.put(758, 2255);
    assert.equal(cache.get(37), 578);
    cache.put(1205, 1322);
    assert.equal(cache.get(1084), 998);
    cache.put(581, 1446);
    cache.put(1404, 307);
    cache.put(572, 1384);
    assert.equal(cache.get(351), 136);
    cache.put(1349, 733);
    cache.put(1047, 3269);
    cache.put(404, 1029);
    cache.put(1101, 738);
    assert.equal(cache.get(623), 1985);
    cache.put(154, 1231);
    assert.equal(cache.get(366), null);
    cache.put(1041, 3135);
    assert.equal(cache.get(534), 1804);
    cache.put(1091, 2551);
    assert.equal(cache.get(579), 2139);
    cache.put(709, 1088);
    assert.equal(cache.get(1121), null);
    cache.put(163, 1552);
    cache.put(1308, 301);
    cache.put(287, 3111);
    cache.put(1087, 1404);
    cache.put(431, 777);
    cache.put(239, 1750);
    cache.put(1426, 395);
    cache.put(1087, 1468);
    assert.equal(cache.get(931), null);
    assert.equal(cache.get(238), 3213);
    assert.equal(cache.get(277), 2107);
    cache.put(329, 1771);
    cache.put(514, 2357);
    cache.put(833, 29);
    assert.equal(cache.get(1298), 594);
    assert.equal(cache.get(346), 1317);
    cache.put(408, 2847);
    assert.equal(cache.get(648), 508);
    cache.put(1339, 2005);
    assert.equal(cache.get(1363), 1627);
    cache.put(518, 2818);
    assert.equal(cache.get(578), 3057);
    cache.put(20, 1874);
    assert.equal(cache.get(1362), null);
    assert.equal(cache.get(1063), 1525);
    assert.equal(cache.get(632), 973);
    assert.equal(cache.get(775), 3137);
    cache.put(1227, 1656);
    cache.put(604, 1566);
    cache.put(977, 2891);
    assert.equal(cache.get(1105), 160);
    assert.equal(cache.get(696), 1421);
    cache.put(46, 1594);
    assert.equal(cache.get(719), 2549);
    cache.put(638, 230);
    cache.put(59, 2120);
    cache.put(52, 1080);
    cache.put(1380, 1246);
    assert.equal(cache.get(50), null);
    assert.equal(cache.get(171), 2108);
    assert.equal(cache.get(1034), 3217);
    assert.equal(cache.get(3), 2477);
    cache.put(1351, 560);
    assert.equal(cache.get(847), null);
    cache.put(604, 108);
    cache.put(1124, 1087);
    cache.put(1269, 2335);
    cache.put(292, 2206);
    cache.put(985, 699);
    cache.put(1044, 3217);
    cache.put(139, 2123);
    assert.equal(cache.get(1349), 733);
    cache.put(848, 240);
    cache.put(1038, 2704);
    cache.put(1048, 2085);
    assert.equal(cache.get(769), null);
    assert.equal(cache.get(1179), 3108);
    cache.put(1422, 1368);
    assert.equal(cache.get(135), 2872);
    assert.equal(cache.get(955), null);
    assert.equal(cache.get(630), 756);
    cache.put(548, 1071);
    cache.put(1290, 1256);
    cache.put(313, 428);
    cache.put(1026, 2162);
    cache.put(954, 1235);
    assert.equal(cache.get(728), null);
    cache.put(516, 2342);
    cache.put(1308, 1837);
    assert.equal(cache.get(1071), 2667);
    assert.equal(cache.get(861), null);
    assert.equal(cache.get(1377), 1028);
    cache.put(1426, 571);
    cache.put(1296, 527);
    cache.put(282, 1830);
    cache.put(1208, 251);
    cache.put(279, 1154);
    assert.equal(cache.get(76), 2189);
    assert.equal(cache.get(1128), 1652);
    cache.put(743, 2108);
    cache.put(235, 2134);
    cache.put(1189, 1341);
    assert.equal(cache.get(1392), null);
    cache.put(1045, 694);
    cache.put(1082, 2336);
    assert.equal(cache.get(663), null);
    cache.put(278, 2519);
    assert.equal(cache.get(428), null);
    cache.put(452, 3110);
    cache.put(202, 2027);
    cache.put(279, 1852);
    cache.put(996, 2832);
    cache.put(681, 2647);
    cache.put(1009, 2858);
    assert.equal(cache.get(626), 1492);
    cache.put(1319, 1317);
    cache.put(427, 2865);
    assert.equal(cache.get(839), 1956);
    cache.put(25, 1818);
    assert.equal(cache.get(893), 276);
    assert.equal(cache.get(184), 2231);
    assert.equal(cache.get(110), null);
    assert.equal(cache.get(945), 1121);
    cache.put(405, 1842);
    cache.put(946, 1954);
    assert.equal(cache.get(1042), null);
    cache.put(1104, 774);
    assert.equal(cache.get(647), 411);
    cache.put(195, 3201);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(74), null);
    cache.put(696, 1605);
    cache.put(919, 1147);
    assert.equal(cache.get(341), 2766);
    cache.put(1067, 193);
    cache.put(638, 2549);
    assert.equal(cache.get(1057), 1748);
    assert.equal(cache.get(1019), 1695);
    assert.equal(cache.get(620), 2978);
    cache.put(364, 252);
    assert.equal(cache.get(711), 2609);
    cache.put(1246, 2596);
    assert.equal(cache.get(56), null);
    cache.put(673, 496);
    assert.equal(cache.get(1197), null);
    cache.put(685, 2373);
    assert.equal(cache.get(392), 3002);
    assert.equal(cache.get(1240), 3028);
    cache.put(1307, 1111);
    assert.equal(cache.get(227), 1911);
    assert.equal(cache.get(383), 2821);
    assert.equal(cache.get(280), 2713);
    assert.equal(cache.get(358), null);
    cache.put(844, 2800);
    assert.equal(cache.get(991), null);
    cache.put(923, 3170);
    cache.put(996, 1938);
    assert.equal(cache.get(645), null);
    cache.put(1333, 2714);
    cache.put(540, 2733);
    assert.equal(cache.get(1314), 875);
    cache.put(165, 2768);
    cache.put(158, 1111);
    cache.put(402, 2455);
    assert.equal(cache.get(212), 2058);
    assert.equal(cache.get(1116), 2686);
    cache.put(544, 2940);
    assert.equal(cache.get(109), 2682);
    cache.put(696, 2771);
    cache.put(59, 3038);
    assert.equal(cache.get(613), 2355);
    cache.put(1173, 3176);
    cache.put(1292, 2512);
    cache.put(284, 3214);
    cache.put(174, 3259);
    cache.put(912, 876);
    assert.equal(cache.get(459), 212);
    assert.equal(cache.get(132), 137);
    assert.equal(cache.get(366), null);
    cache.put(1050, 2235);
    cache.put(86, 1343);
    cache.put(562, 38);
    assert.equal(cache.get(813), 193);
    cache.put(181, 1293);
    cache.put(103, 3197);
    assert.equal(cache.get(1426), 571);
    assert.equal(cache.get(461), 215);
    cache.put(577, 2367);
    assert.equal(cache.get(145), 256);
    assert.equal(cache.get(77), null);
    assert.equal(cache.get(759), 738);
    assert.equal(cache.get(842), null);
    assert.equal(cache.get(833), 29);
    cache.put(1172, 2456);
    assert.equal(cache.get(1235), 2163);
    cache.put(1388, 2519);
    cache.put(1223, 2939);
    assert.equal(cache.get(1025), null);
    cache.put(342, 323);
    cache.put(1280, 1818);
    cache.put(745, 2010);
    assert.equal(cache.get(1111), 657);
    assert.equal(cache.get(706), null);
    cache.put(1088, 1369);
    assert.equal(cache.get(4), null);
    assert.equal(cache.get(48), 1756);
    cache.put(1307, 137);
    assert.equal(cache.get(768), 253);
    assert.equal(cache.get(1047), 3269);
    assert.equal(cache.get(1092), 2322);
    assert.equal(cache.get(593), null);
    assert.equal(cache.get(1377), 1028);
    assert.equal(cache.get(566), 949);
    cache.put(260, 1776);
    cache.put(1206, 224);
    cache.put(1399, 952);
    cache.put(901, 2871);
    cache.put(812, 2395);
    cache.put(495, 875);
    assert.equal(cache.get(565), 718);
    assert.equal(cache.get(308), null);
    cache.put(1360, 2792);
    cache.put(891, 2450);
    assert.equal(cache.get(1272), 514);
    assert.equal(cache.get(890), null);
    cache.put(1355, 58);
    cache.put(261, 1420);
    cache.put(42, 2220);
    cache.put(1067, 1465);
    cache.put(560, 1377);
    assert.equal(cache.get(383), 2821);
    cache.put(825, 2167);
    cache.put(1413, 3185);
    cache.put(288, 637);
    cache.put(507, 3146);
    cache.put(403, 1473);
    cache.put(975, 1799);
    cache.put(505, 774);
    assert.equal(cache.get(686), null);
    cache.put(1209, 2067);
    cache.put(643, 624);
    cache.put(759, 1743);
    assert.equal(cache.get(123), null);
    cache.put(124, 550);
    cache.put(253, 1455);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(209), 246);
    cache.put(91, 68);
    cache.put(913, 1681);
    cache.put(878, 3248);
    assert.equal(cache.get(671), null);
    assert.equal(cache.get(1416), null);
    assert.equal(cache.get(184), 2231);
    assert.equal(cache.get(1320), 1899);
    assert.equal(cache.get(1328), 382);
    cache.put(23, 1424);
    cache.put(1286, 824);
    assert.equal(cache.get(906), 1128);
    cache.put(549, 1372);
    cache.put(1123, 2488);
    assert.equal(cache.get(215), 426);
    cache.put(288, 163);
    assert.equal(cache.get(1228), null);
    cache.put(275, 1278);
    assert.equal(cache.get(1043), null);
    assert.equal(cache.get(1021), null);
    cache.put(1195, 1662);
    cache.put(782, 317);
    cache.put(179, 2327);
    assert.equal(cache.get(108), null);
    cache.put(1149, 509);
    cache.put(1093, 281);
    cache.put(483, 1141);
    assert.equal(cache.get(270), 1821);
    cache.put(940, 2428);
    assert.equal(cache.get(814), 1377);
    cache.put(1409, 233);
    cache.put(209, 640);
    assert.equal(cache.get(450), 644);
    cache.put(633, 3063);
    cache.put(1373, 1265);
    assert.equal(cache.get(48), 1756);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(255), 249);
    assert.equal(cache.get(359), null);
    cache.put(619, 1899);
    cache.put(396, 789);
    assert.equal(cache.get(562), 38);
    assert.equal(cache.get(409), 2966);
    cache.put(412, 831);
    assert.equal(cache.get(1360), 2792);
    assert.equal(cache.get(1074), 2864);
    cache.put(151, 2927);
    assert.equal(cache.get(1259), 2952);
    cache.put(819, 2194);
    cache.put(1364, 1829);
    cache.put(211, 1921);
    assert.equal(cache.get(513), null);
    assert.equal(cache.get(1351), null);
    assert.equal(cache.get(1046), 2159);
    assert.equal(cache.get(1100), null);
    assert.equal(cache.get(417), null);
    cache.put(743, 785);
    assert.equal(cache.get(1063), 1525);
    assert.equal(cache.get(1215), 3297);
    assert.equal(cache.get(1213), null);
    cache.put(1283, 756);
    cache.put(1115, 1956);
    cache.put(600, 3013);
    assert.equal(cache.get(506), 1623);
    assert.equal(cache.get(790), null);
    cache.put(1332, 3148);
    cache.put(840, 1769);
    cache.put(899, 3227);
    cache.put(176, 1146);
    assert.equal(cache.get(514), 2357);
    cache.put(1371, 1342);
    assert.equal(cache.get(710), 413);
    assert.equal(cache.get(686), null);
    cache.put(1108, 2778);
    cache.put(336, 2779);
    assert.equal(cache.get(1125), null);
    cache.put(603, 678);
    cache.put(559, 1122);
    assert.equal(cache.get(565), 718);
    assert.equal(cache.get(66), 143);
    assert.equal(cache.get(823), null);
    cache.put(504, 1366);
    assert.equal(cache.get(1384), 1573);
    cache.put(851, 3275);
    cache.put(1245, 502);
    assert.equal(cache.get(580), 176);
    cache.put(608, 2734);
    assert.equal(cache.get(531), 84);
    cache.put(886, 2432);
    assert.equal(cache.get(1083), null);
    cache.put(60, 2990);
    cache.put(227, 1095);
    cache.put(468, 444);
    cache.put(128, 328);
    assert.equal(cache.get(205), 2513);
    assert.equal(cache.get(611), 406);
    cache.put(35, 2629);
    cache.put(340, 696);
    cache.put(543, 338);
    cache.put(170, 2349);
    cache.put(543, 2678);
    cache.put(747, 2587);
    cache.put(634, 2410);
    assert.equal(cache.get(447), 2487);
    assert.equal(cache.get(1384), 1573);
    cache.put(304, 1709);
    assert.equal(cache.get(1124), 1087);
    assert.equal(cache.get(529), 1818);
    cache.put(1223, 1730);
    cache.put(880, 3050);
    assert.equal(cache.get(672), 1281);
    cache.put(635, 3167);
    cache.put(494, 1106);
    assert.equal(cache.get(516), 2342);
    cache.put(469, 725);
    cache.put(335, 440);
    assert.equal(cache.get(660), null);
    cache.put(544, 102);
    assert.equal(cache.get(646), null);
    cache.put(1266, 148);
    assert.equal(cache.get(908), 918);
    cache.put(387, 3201);
    assert.equal(cache.get(687), 2577);
    assert.equal(cache.get(871), null);
    cache.put(1118, 307);
    cache.put(195, 2415);
    assert.equal(cache.get(952), 2366);
    assert.equal(cache.get(896), 495);
    assert.equal(cache.get(310), 2940);
    assert.equal(cache.get(819), 2194);
    cache.put(1247, 1119);
    cache.put(519, 185);
    assert.equal(cache.get(1287), null);
    assert.equal(cache.get(1101), 738);
    assert.equal(cache.get(1023), 3136);
    assert.equal(cache.get(335), 440);
    assert.equal(cache.get(1276), null);
    assert.equal(cache.get(1117), 127);
    cache.put(946, 2495);
    assert.equal(cache.get(1358), 1278);
    cache.put(865, 3118);
    assert.equal(cache.get(143), null);
    assert.equal(cache.get(494), 1106);
    cache.put(855, 1670);
    cache.put(1088, 2504);
    cache.put(626, 699);
    assert.equal(cache.get(344), 772);
    cache.put(351, 761);
    cache.put(609, 2654);
    assert.equal(cache.get(708), null);
    assert.equal(cache.get(643), 624);
    assert.equal(cache.get(333), 920);
    cache.put(473, 1216);
    cache.put(948, 2435);
    cache.put(1126, 1868);
    cache.put(451, 2734);
    cache.put(587, 691);
    assert.equal(cache.get(1107), 2616);
    cache.put(1123, 2062);
    cache.put(483, 623);
    assert.equal(cache.get(1186), 2673);
    assert.equal(cache.get(650), 2121);
    cache.put(340, 1843);
    assert.equal(cache.get(1223), 1730);
    cache.put(397, 654);
    assert.equal(cache.get(1065), 3096);
    cache.put(947, 347);
    assert.equal(cache.get(1328), 382);
    assert.equal(cache.get(637), 983);
    cache.put(1381, 2418);
    cache.put(333, 698);
    cache.put(1098, 2797);
    cache.put(974, 150);
    assert.equal(cache.get(494), 1106);
    cache.put(898, 3125);
    cache.put(755, 1872);
    cache.put(1045, 27);
    assert.equal(cache.get(20), 1874);
    cache.put(984, 1774);
    assert.equal(cache.get(353), 56);
    assert.equal(cache.get(164), 1893);
    cache.put(1222, 2687);
    assert.equal(cache.get(904), 1636);
    assert.equal(cache.get(672), 1281);
    cache.put(149, 630);
    cache.put(963, 2471);
    assert.equal(cache.get(329), 1771);
    cache.put(1043, 2284);
    cache.put(1097, 187);
    cache.put(1061, 597);
    assert.equal(cache.get(1313), 2234);
    assert.equal(cache.get(784), 1615);
    assert.equal(cache.get(451), 2734);
    cache.put(1379, 2797);
    cache.put(701, 1131);
    assert.equal(cache.get(1199), 3084);
    assert.equal(cache.get(1246), 2596);
    cache.put(171, 1239);
    assert.equal(cache.get(75), null);
    assert.equal(cache.get(1195), 1662);
    assert.equal(cache.get(537), 2771);
    cache.put(608, 1685);
    cache.put(901, 1898);
    cache.put(98, 2402);
    assert.equal(cache.get(130), 1904);
    cache.put(945, 299);
    cache.put(341, 2869);
    cache.put(723, 2304);
    cache.put(1098, 1868);
    assert.equal(cache.get(1243), 1797);
    cache.put(168, 713);
    assert.equal(cache.get(750), 1070);
    cache.put(1262, 1359);
    assert.equal(cache.get(1202), null);
    assert.equal(cache.get(845), 387);
    cache.put(182, 3066);
    cache.put(1345, 1439);
    assert.equal(cache.get(735), 3026);
    cache.put(318, 3169);
    cache.put(445, 2850);
    cache.put(517, 1775);
    cache.put(1207, 1862);
    cache.put(97, 2107);
    assert.equal(cache.get(1348), 1183);
    assert.equal(cache.get(560), 1377);
    assert.equal(cache.get(117), 236);
    assert.equal(cache.get(764), null);
    cache.put(831, 418);
    cache.put(111, 2227);
    cache.put(208, 2645);
    cache.put(1264, 2190);
    assert.equal(cache.get(124), 550);
    cache.put(106, 2830);
    cache.put(171, 282);
    cache.put(768, 1039);
    cache.put(1413, 476);
    cache.put(1396, 14);
    assert.equal(cache.get(119), null);
    cache.put(24, 637);
    cache.put(441, 3289);
    assert.equal(cache.get(623), 1985);
    assert.equal(cache.get(887), 2300);
    cache.put(660, 348);
    cache.put(155, 2835);
    assert.equal(cache.get(111), 2227);
    assert.equal(cache.get(1223), 1730);
    cache.put(1186, 723);
    assert.equal(cache.get(863), 1971);
    assert.equal(cache.get(855), 1670);
    cache.put(1081, 2929);
    cache.put(1366, 2704);
    cache.put(776, 850);
    assert.equal(cache.get(855), 1670);
    assert.equal(cache.get(855), 1670);
    assert.equal(cache.get(1209), 2067);
    cache.put(573, 1976);
    assert.equal(cache.get(165), null);
    assert.equal(cache.get(401), 1592);
    assert.equal(cache.get(259), 987);
    cache.put(9, 2644);
    assert.equal(cache.get(1059), 614);
    cache.put(190, 1704);
    cache.put(1023, 2928);
    cache.put(1221, 1579);
    cache.put(341, 2878);
    cache.put(191, 1179);
    cache.put(57, 2042);
    cache.put(1013, 403);
    assert.equal(cache.get(933), 2302);
    cache.put(926, 2892);
    assert.equal(cache.get(494), 1106);
    cache.put(371, 126);
    assert.equal(cache.get(444), null);
    assert.equal(cache.get(1297), 1382);
    cache.put(429, 1419);
    assert.equal(cache.get(820), 2058);
    cache.put(889, 1324);
    cache.put(947, 3258);
    assert.equal(cache.get(810), 1737);
    assert.equal(cache.get(831), 418);
    cache.put(327, 1834);
    cache.put(1292, 1517);
    cache.put(1356, 3303);
    cache.put(1427, 197);
    assert.equal(cache.get(281), 1253);
    cache.put(476, 2824);
    assert.equal(cache.get(582), 2878);
    assert.equal(cache.get(228), 1947);
    assert.equal(cache.get(162), null);
    cache.put(70, 200);
    cache.put(1240, 2464);
    cache.put(1341, 425);
    cache.put(1353, 283);
    cache.put(2, 326);
    assert.equal(cache.get(971), 2865);
    assert.equal(cache.get(294), 1043);
    cache.put(424, 1236);
    assert.equal(cache.get(686), null);
    cache.put(986, 1097);
    cache.put(23, 1250);
    assert.equal(cache.get(975), 1799);
    cache.put(53, 2500);
    assert.equal(cache.get(186), 2523);
    assert.equal(cache.get(906), 1128);
    assert.equal(cache.get(277), 2107);
    cache.put(95, 2769);
    cache.put(680, 1311);
    assert.equal(cache.get(1001), null);
    cache.put(448, 1616);
    cache.put(56, 1971);
    cache.put(685, 163);
    assert.equal(cache.get(303), 1406);
    cache.put(540, 2690);
    cache.put(1354, 670);
    assert.equal(cache.get(688), 1120);
    cache.put(110, 1704);
    cache.put(1026, 363);
    cache.put(704, 91);
    cache.put(724, 599);
    assert.equal(cache.get(149), 630);
    assert.equal(cache.get(409), 2966);
    assert.equal(cache.get(704), 91);
    assert.equal(cache.get(1165), 1575);
    assert.equal(cache.get(237), 830);
    assert.equal(cache.get(450), 644);
    cache.put(1121, 3156);
    cache.put(47, 2977);
    cache.put(133, 945);
    assert.equal(cache.get(1338), 2031);
    assert.equal(cache.get(249), 958);
    cache.put(9, 189);
    assert.equal(cache.get(859), 3143);
    assert.equal(cache.get(372), 2983);
    assert.equal(cache.get(1310), 1335);
    assert.equal(cache.get(558), null);
    cache.put(24, 1266);
    cache.put(1178, 393);
    assert.equal(cache.get(867), null);
    cache.put(966, 1781);
    assert.equal(cache.get(721), null);
    cache.put(148, 122);
    cache.put(457, 1572);
    cache.put(788, 956);
    cache.put(62, 3259);
    cache.put(500, 2157);
    cache.put(578, 2382);
    cache.put(562, 2175);
    cache.put(227, 1990);
    cache.put(949, 758);
    cache.put(688, 1769);
    assert.equal(cache.get(1145), 2157);
    cache.put(516, 152);
    assert.equal(cache.get(297), 673);
    cache.put(829, 41);
    assert.equal(cache.get(241), 1187);
    assert.equal(cache.get(413), 3144);
    assert.equal(cache.get(1349), 733);
    cache.put(776, 3269);
    assert.equal(cache.get(353), 56);
    cache.put(485, 790);
    assert.equal(cache.get(813), 193);
    cache.put(1285, 1569);
    cache.put(848, 1596);
    cache.put(358, 772);
    cache.put(174, 2242);
    cache.put(317, 813);
    cache.put(665, 2494);
    cache.put(113, 3266);
    cache.put(298, 93);
    cache.put(231, 213);
    cache.put(1134, 2483);
    assert.equal(cache.get(659), 2195);
    cache.put(901, 803);
    assert.equal(cache.get(1412), null);
    cache.put(982, 1119);
    cache.put(506, 1964);
    cache.put(599, 947);
    assert.equal(cache.get(195), 2415);
    assert.equal(cache.get(594), 368);
    assert.equal(cache.get(921), 492);
    assert.equal(cache.get(1291), 2869);
    assert.equal(cache.get(1378), 1126);
    cache.put(28, 3106);
    cache.put(638, 1013);
    cache.put(859, 3274);
    assert.equal(cache.get(611), 406);
    cache.put(589, 189);
    cache.put(178, 1540);
    assert.equal(cache.get(915), null);
    assert.equal(cache.get(156), 3117);
    assert.equal(cache.get(899), 3227);
    cache.put(1386, 2053);
    assert.equal(cache.get(441), 3289);
    cache.put(208, 48);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(455), null);
    assert.equal(cache.get(485), null);
    cache.put(945, 1480);
    assert.equal(cache.get(1326), null);
    cache.put(67, 926);
    assert.equal(cache.get(798), 1004);
    cache.put(328, 267);
    cache.put(267, 1372);
    cache.put(272, 682);
    cache.put(459, 1978);
    assert.equal(cache.get(920), 1210);
    assert.equal(cache.get(974), null);
    cache.put(340, 2411);
    assert.equal(cache.get(1245), null);
    cache.put(66, 309);
    assert.equal(cache.get(1210), null);
    cache.put(1249, 1083);
    cache.put(938, 2488);
    assert.equal(cache.get(593), null);
    assert.equal(cache.get(1061), 597);
    assert.equal(cache.get(1274), 1751);
    assert.equal(cache.get(743), 785);
    assert.equal(cache.get(1285), 1569);
    assert.equal(cache.get(30), 834);
    cache.put(1396, 191);
    assert.equal(cache.get(86), 1343);
    cache.put(743, 2089);
    assert.equal(cache.get(184), 2231);
    cache.put(397, 170);
    assert.equal(cache.get(1206), 224);
    cache.put(137, 2287);
    assert.equal(cache.get(560), 1377);
    cache.put(182, 3152);
    cache.put(1320, 594);
    assert.equal(cache.get(916), 1080);
    cache.put(713, 3130);
    cache.put(347, 827);
    cache.put(718, 2198);
    assert.equal(cache.get(1084), 998);
    assert.equal(cache.get(271), 1870);
    assert.equal(cache.get(536), 465);
    cache.put(266, 3285);
    cache.put(1050, 377);
    cache.put(529, 1139);
    assert.equal(cache.get(1227), null);
    cache.put(32, 1678);
    cache.put(942, 2821);
    cache.put(59, 2634);
    cache.put(545, 596);
    cache.put(141, 987);
    assert.equal(cache.get(558), null);
    assert.equal(cache.get(767), 1123);
    assert.equal(cache.get(1071), 2667);
    assert.equal(cache.get(673), null);
    assert.equal(cache.get(1187), 804);
    assert.equal(cache.get(1424), null);
    assert.equal(cache.get(6), null);
    assert.equal(cache.get(1), 1417);
    assert.equal(cache.get(279), 1852);
    cache.put(170, 2556);
    cache.put(1013, 2227);
    cache.put(1171, 3124);
    assert.equal(cache.get(352), 2721);
    assert.equal(cache.get(729), 361);
    assert.equal(cache.get(113), 3266);
    cache.put(1037, 977);
    cache.put(522, 1758);
    assert.equal(cache.get(1331), null);
    cache.put(150, 1744);
    assert.equal(cache.get(36), 2648);
    assert.equal(cache.get(549), 1372);
    cache.put(734, 2583);
    cache.put(975, 1543);
    cache.put(479, 1207);
    assert.equal(cache.get(274), 1043);
    assert.equal(cache.get(429), 1419);
    cache.put(537, 2070);
    cache.put(1196, 2580);
    assert.equal(cache.get(90), 605);
    cache.put(870, 1772);
    assert.equal(cache.get(711), 2609);
    assert.equal(cache.get(639), 1714);
    cache.put(987, 123);
    cache.put(1214, 2604);
    assert.equal(cache.get(243), 418);
    cache.put(2, 2734);
    cache.put(1182, 2527);
    cache.put(482, 438);
    cache.put(64, 492);
    assert.equal(cache.get(815), 351);
    assert.equal(cache.get(1340), 2354);
    assert.equal(cache.get(121), 592);
    cache.put(135, 2203);
    cache.put(1336, 1651);
    assert.equal(cache.get(1107), 2616);
    cache.put(2, 1280);
    cache.put(1354, 505);
    cache.put(371, 738);
    cache.put(1047, 475);
    cache.put(708, 179);
    cache.put(664, 2923);
    cache.put(1219, 3145);
    assert.equal(cache.get(992), 603);
    assert.equal(cache.get(426), 3085);
    cache.put(1203, 3128);
    cache.put(1, 2796);
    cache.put(338, 9);
    cache.put(1031, 2226);
    cache.put(101, 904);
    cache.put(1214, 2202);
    cache.put(999, 3294);
    assert.equal(cache.get(14), 1589);
    cache.put(296, 32);
    assert.equal(cache.get(374), 555);
    assert.equal(cache.get(1203), 3128);
    assert.equal(cache.get(1187), 804);
    assert.equal(cache.get(1358), 1278);
    assert.equal(cache.get(331), 1076);
    cache.put(912, 931);
    assert.equal(cache.get(283), 2101);
    cache.put(190, 127);
    assert.equal(cache.get(1), 2796);
    assert.equal(cache.get(511), 2760);
    cache.put(1418, 3040);
    cache.put(436, 2362);
    cache.put(747, 2521);
    assert.equal(cache.get(1041), null);
    cache.put(1311, 1498);
    cache.put(525, 2924);
    cache.put(1405, 1722);
    assert.equal(cache.get(691), 2428);
    cache.put(925, 1798);
    cache.put(167, 2434);
    cache.put(253, 2806);
    cache.put(329, 1635);
    cache.put(913, 784);
    cache.put(341, 1597);
    assert.equal(cache.get(317), 813);
    assert.equal(cache.get(620), 2978);
    assert.equal(cache.get(806), 1342);
    cache.put(239, 1865);
    assert.equal(cache.get(1194), 2554);
    cache.put(137, 2466);
    cache.put(202, 114);
    cache.put(1376, 1768);
    cache.put(412, 836);
    assert.equal(cache.get(335), 440);
    cache.put(403, 232);
    cache.put(48, 2118);
    assert.equal(cache.get(1245), null);
    cache.put(448, 592);
    cache.put(569, 2316);
    cache.put(1173, 2);
    cache.put(1279, 1613);
    cache.put(127, 2507);
    cache.put(995, 541);
    cache.put(602, 2111);
    assert.equal(cache.get(921), 492);
    cache.put(102, 1822);
    cache.put(742, 1693);
    cache.put(355, 503);
    assert.equal(cache.get(319), null);
    assert.equal(cache.get(951), 1557);
    assert.equal(cache.get(385), null);
    cache.put(331, 745);
    cache.put(734, 1356);
    assert.equal(cache.get(239), 1865);
    cache.put(1068, 3026);
    assert.equal(cache.get(1226), null);
    cache.put(1000, 1104);
    assert.equal(cache.get(317), 813);
    assert.equal(cache.get(31), 2620);
    cache.put(902, 238);
    cache.put(527, 2106);
    cache.put(276, 1041);
    assert.equal(cache.get(1175), 2548);
    assert.equal(cache.get(497), 1559);
    assert.equal(cache.get(851), null);
    assert.equal(cache.get(481), 2329);
    assert.equal(cache.get(696), 2771);
    assert.equal(cache.get(418), 2099);
    assert.equal(cache.get(280), 2713);
    assert.equal(cache.get(673), null);
    cache.put(950, 1318);
    cache.put(721, 1678);
    cache.put(330, 2114);
    cache.put(593, 2802);
    cache.put(24, 1804);
    assert.equal(cache.get(88), 1743);
    assert.equal(cache.get(1304), 2484);
    cache.put(1006, 840);
    cache.put(328, 2029);
    cache.put(1010, 2953);
    assert.equal(cache.get(868), 2803);
    cache.put(1171, 2279);
    cache.put(383, 1153);
    cache.put(488, 1849);
    cache.put(304, 623);
    cache.put(614, 2286);
    cache.put(1249, 150);
    assert.equal(cache.get(268), null);
    cache.put(1072, 2244);
    cache.put(202, 3002);
    cache.put(510, 24);
    cache.put(829, 2184);
    assert.equal(cache.get(170), 2556);
    cache.put(341, 1792);
    cache.put(334, 1107);
    assert.equal(cache.get(1099), 1813);
    cache.put(146, 3293);
    assert.equal(cache.get(887), 2300);
    assert.equal(cache.get(1048), 2085);
    assert.equal(cache.get(197), 2008);
    cache.put(516, 1233);
    assert.equal(cache.get(852), 754);
    cache.put(3, 770);
    assert.equal(cache.get(810), 1737);
    cache.put(1378, 2069);
    cache.put(913, 2246);
    assert.equal(cache.get(1153), 977);
    cache.put(1192, 2204);
    cache.put(837, 513);
    assert.equal(cache.get(563), 1601);
    assert.equal(cache.get(536), 465);
    assert.equal(cache.get(948), 2435);
    cache.put(1175, 2732);
    cache.put(1037, 1195);
    cache.put(1095, 1540);
    assert.equal(cache.get(108), null);
    assert.equal(cache.get(62), null);
    cache.put(119, 1896);
    cache.put(968, 2996);
    assert.equal(cache.get(667), null);
    cache.put(139, 2474);
    cache.put(173, 1605);
    assert.equal(cache.get(545), 596);
    cache.put(945, 654);
    assert.equal(cache.get(59), 2634);
    assert.equal(cache.get(1285), 1569);
    cache.put(770, 770);
    cache.put(854, 768);
    assert.equal(cache.get(132), 137);
    assert.equal(cache.get(231), 213);
    assert.equal(cache.get(636), null);
    cache.put(1082, 1106);
    cache.put(1131, 2927);
    cache.put(643, 3276);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(304), 623);
    cache.put(81, 2034);
    cache.put(518, 1873);
    cache.put(620, 195);
    assert.equal(cache.get(858), 2745);
    cache.put(237, 1421);
    cache.put(422, 1747);
    cache.put(759, 420);
    cache.put(498, 498);
    cache.put(74, 2870);
    assert.equal(cache.get(1039), 898);
    assert.equal(cache.get(779), null);
    assert.equal(cache.get(337), 2850);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(534), 1804);
    assert.equal(cache.get(1362), null);
    assert.equal(cache.get(672), 1281);
    assert.equal(cache.get(1425), 2565);
    assert.equal(cache.get(379), 2686);
    cache.put(121, 3294);
    cache.put(1034, 573);
    cache.put(1287, 3092);
    assert.equal(cache.get(112), 2459);
    cache.put(1263, 2082);
    assert.equal(cache.get(362), 613);
    cache.put(910, 2207);
    cache.put(921, 926);
    assert.equal(cache.get(871), null);
    cache.put(46, 2357);
    cache.put(1085, 3006);
    cache.put(83, 1319);
    assert.equal(cache.get(548), 1071);
    assert.equal(cache.get(1223), 1730);
    cache.put(494, 2275);
    assert.equal(cache.get(667), null);
    cache.put(597, 2122);
    assert.equal(cache.get(761), 1439);
    cache.put(324, 1110);
    assert.equal(cache.get(643), 3276);
    assert.equal(cache.get(944), 2111);
    cache.put(613, 29);
    assert.equal(cache.get(1370), null);
    cache.put(243, 809);
    assert.equal(cache.get(98), 2402);
    cache.put(184, 2165);
    assert.equal(cache.get(393), 3149);
    cache.put(756, 548);
    assert.equal(cache.get(100), 1122);
    cache.put(536, 906);
    cache.put(330, 1067);
    cache.put(1071, 2865);
    assert.equal(cache.get(937), 2658);
    cache.put(1172, 553);
    assert.equal(cache.get(455), null);
    cache.put(417, 1130);
    cache.put(1401, 718);
    cache.put(1202, 2821);
    assert.equal(cache.get(1309), null);
    cache.put(1188, 1145);
    assert.equal(cache.get(80), 24);
    assert.equal(cache.get(1039), 898);
    assert.equal(cache.get(843), 22);
    assert.equal(cache.get(1366), 2704);
    cache.put(595, 1047);
    cache.put(867, 889);
    assert.equal(cache.get(1079), 359);
    cache.put(1086, 1126);
    assert.equal(cache.get(289), null);
    assert.equal(cache.get(433), null);
    cache.put(686, 1920);
    cache.put(935, 1929);
    assert.equal(cache.get(605), 3221);
    assert.equal(cache.get(1188), 1145);
    assert.equal(cache.get(615), null);
    cache.put(70, 1153);
    assert.equal(cache.get(1355), 58);
    cache.put(964, 1962);
    assert.equal(cache.get(653), null);
    cache.put(1372, 1312);
    cache.put(317, 2825);
    cache.put(729, 2892);
    assert.equal(cache.get(563), 1601);
    assert.equal(cache.get(893), 276);
    assert.equal(cache.get(383), 1153);
    cache.put(338, 3042);
    cache.put(275, 990);
    assert.equal(cache.get(712), 688);
    cache.put(502, 250);
    cache.put(1312, 1316);
    assert.equal(cache.get(1337), 191);
    assert.equal(cache.get(39), 768);
    assert.equal(cache.get(590), 339);
    assert.equal(cache.get(1286), 824);
    cache.put(278, 34);
    cache.put(1396, 3200);
    assert.equal(cache.get(122), 3272);
    assert.equal(cache.get(515), 2598);
    cache.put(1275, 1272);
    assert.equal(cache.get(923), 3170);
    cache.put(1075, 2497);
    cache.put(321, 2891);
    cache.put(262, 127);
    assert.equal(cache.get(370), null);
    assert.equal(cache.get(173), null);
    cache.put(1127, 1097);
    cache.put(1018, 842);
    assert.equal(cache.get(437), 1669);
    cache.put(615, 2880);
    assert.equal(cache.get(1333), 2714);
    cache.put(1300, 1005);
    cache.put(493, 2668);
    cache.put(1290, 2933);
    cache.put(149, 2554);
    cache.put(1285, 767);
    assert.equal(cache.get(8), 911);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(783), 989);
    cache.put(983, 2696);
    assert.equal(cache.get(547), 217);
    assert.equal(cache.get(1164), null);
    cache.put(606, 2467);
    assert.equal(cache.get(511), 2760);
    cache.put(819, 676);
    assert.equal(cache.get(414), 786);
    assert.equal(cache.get(70), 1153);
    cache.put(243, 1906);
    cache.put(684, 1788);
    assert.equal(cache.get(814), 1377);
    assert.equal(cache.get(669), 3176);
    cache.put(937, 2128);
    cache.put(991, 2493);
    cache.put(628, 2301);
    assert.equal(cache.get(1113), 2692);
    cache.put(578, 840);
    cache.put(375, 297);
    cache.put(623, 14);
    assert.equal(cache.get(986), 1097);
    assert.equal(cache.get(344), 772);
    assert.equal(cache.get(498), null);
    assert.equal(cache.get(498), null);
    cache.put(1009, 2722);
    cache.put(451, 2173);
    cache.put(466, 477);
    assert.equal(cache.get(471), 3053);
    cache.put(753, 1196);
    assert.equal(cache.get(1228), null);
    cache.put(290, 454);
    assert.equal(cache.get(1211), 1195);
    cache.put(345, 846);
    assert.equal(cache.get(1329), null);
    cache.put(400, 1411);
    assert.equal(cache.get(254), 2946);
    cache.put(412, 2175);
    cache.put(1361, 618);
    cache.put(1401, 2188);
    assert.equal(cache.get(63), 2954);
    assert.equal(cache.get(829), 2184);
    assert.equal(cache.get(168), 713);
    cache.put(298, 1633);
    assert.equal(cache.get(79), 2012);
    cache.put(323, 2827);
    assert.equal(cache.get(43), 2771);
    assert.equal(cache.get(612), 1423);
    assert.equal(cache.get(644), 2305);
    assert.equal(cache.get(943), 2701);
    cache.put(415, 1244);
    cache.put(1274, 1799);
    assert.equal(cache.get(615), 2880);
    cache.put(139, 2319);
    assert.equal(cache.get(875), 828);
    cache.put(1211, 1678);
    cache.put(105, 58);
    cache.put(1010, 1688);
    cache.put(1416, 409);
    assert.equal(cache.get(905), 2235);
    assert.equal(cache.get(420), null);
    assert.equal(cache.get(1386), 2053);
    assert.equal(cache.get(733), null);
    assert.equal(cache.get(60), 2990);
    cache.put(1201, 153);
    assert.equal(cache.get(493), 2668);
    cache.put(522, 1081);
    cache.put(651, 498);
    cache.put(612, 2127);
    cache.put(1309, 2150);
    cache.put(272, 3238);
    assert.equal(cache.get(1163), 1699);
    cache.put(794, 2037);
    assert.equal(cache.get(205), 2513);
    assert.equal(cache.get(1319), null);
    assert.equal(cache.get(492), 1004);
    assert.equal(cache.get(1119), 935);
    assert.equal(cache.get(963), 2471);
    cache.put(961, 1983);
    assert.equal(cache.get(152), 2080);
    cache.put(317, 2517);
    cache.put(65, 416);
    cache.put(695, 2974);
    cache.put(1108, 1499);
    assert.equal(cache.get(979), 1167);
    cache.put(1301, 2944);
    cache.put(1211, 1975);
    cache.put(756, 1804);
    cache.put(736, 2971);
    cache.put(240, 3191);
    assert.equal(cache.get(598), 786);
    cache.put(1263, 1652);
    cache.put(1279, 1971);
    assert.equal(cache.get(667), null);
    assert.equal(cache.get(659), 2195);
    cache.put(150, 360);
    cache.put(924, 2584);
    cache.put(1332, 1083);
    cache.put(916, 1689);
    cache.put(1280, 3139);
    assert.equal(cache.get(974), null);
    cache.put(417, 127);
    cache.put(189, 39);
    assert.equal(cache.get(490), null);
    assert.equal(cache.get(536), 906);
    cache.put(1358, 1911);
    cache.put(200, 3216);
    assert.equal(cache.get(1204), 2402);
    assert.equal(cache.get(225), 3017);
    assert.equal(cache.get(103), 3197);
    cache.put(1059, 1593);
    assert.equal(cache.get(1147), 2875);
    assert.equal(cache.get(1067), 1465);
    cache.put(240, 2029);
    cache.put(897, 903);
    cache.put(863, 1774);
    cache.put(1350, 1641);
    cache.put(77, 2530);
    assert.equal(cache.get(1141), 1954);
    cache.put(155, 231);
    cache.put(1261, 2675);
    assert.equal(cache.get(68), 2785);
    cache.put(308, 557);
    assert.equal(cache.get(1290), null);
    cache.put(298, 2779);
    assert.equal(cache.get(890), null);
    cache.put(577, 1438);
    cache.put(113, 2522);
    cache.put(362, 2306);
    assert.equal(cache.get(503), 853);
    cache.put(1094, 1668);
    cache.put(1394, 1560);
    assert.equal(cache.get(844), 2800);
    assert.equal(cache.get(503), 853);
    cache.put(1297, 179);
    cache.put(665, 2484);
    cache.put(467, 1152);
    assert.equal(cache.get(297), 673);
    assert.equal(cache.get(1351), null);
    cache.put(15, 1839);
    cache.put(936, 486);
    assert.equal(cache.get(117), 236);
    cache.put(753, 1966);
    cache.put(66, 1146);
    cache.put(1105, 1395);
    assert.equal(cache.get(293), null);
    cache.put(1371, 2125);
    cache.put(271, 3027);
    assert.equal(cache.get(903), null);
    assert.equal(cache.get(526), 3000);
    cache.put(657, 1115);
    assert.equal(cache.get(150), 360);
    cache.put(272, 1684);
    cache.put(1204, 283);
    assert.equal(cache.get(1334), null);
    assert.equal(cache.get(825), 2167);
    assert.equal(cache.get(57), 2042);
    assert.equal(cache.get(20), 1874);
    cache.put(1356, 292);
    assert.equal(cache.get(266), 3285);
    assert.equal(cache.get(308), null);
    cache.put(359, 1758);
    assert.equal(cache.get(1067), 1465);
    cache.put(1071, 1882);
    cache.put(132, 1396);
    cache.put(1251, 1874);
    cache.put(749, 1011);
    cache.put(434, 1727);
    assert.equal(cache.get(428), null);
    assert.equal(cache.get(420), null);
    assert.equal(cache.get(1279), 1971);
    assert.equal(cache.get(908), 918);
    cache.put(884, 422);
    assert.equal(cache.get(1120), 3253);
    cache.put(427, 1265);
    cache.put(592, 355);
    cache.put(864, 3058);
    assert.equal(cache.get(1186), 723);
    cache.put(1273, 1259);
    cache.put(887, 938);
    assert.equal(cache.get(1181), 3170);
    assert.equal(cache.get(1396), 3200);
    assert.equal(cache.get(1224), 2265);
    cache.put(441, 512);
    cache.put(15, 258);
    cache.put(1395, 2231);
    assert.equal(cache.get(799), null);
    assert.equal(cache.get(151), 2927);
    cache.put(828, 2798);
    assert.equal(cache.get(508), null);
    cache.put(247, 1505);
    assert.equal(cache.get(1171), 2279);
    cache.put(647, 2687);
    cache.put(14, 973);
    cache.put(401, 2908);
    cache.put(994, 667);
    assert.equal(cache.get(1333), 2714);
    cache.put(360, 1348);
    cache.put(324, 699);
    assert.equal(cache.get(690), 1294);
    cache.put(128, 597);
    cache.put(1019, 876);
    assert.equal(cache.get(1346), 165);
    cache.put(739, 2635);
    cache.put(1267, 1267);
    cache.put(404, 1508);
    assert.equal(cache.get(682), 2892);
    assert.equal(cache.get(701), 1131);
    cache.put(203, 1139);
    assert.equal(cache.get(647), 2687);
    assert.equal(cache.get(1306), null);
    cache.put(1254, 437);
    assert.equal(cache.get(741), 3023);
    cache.put(724, 1418);
    cache.put(811, 930);
    cache.put(855, 58);
    assert.equal(cache.get(281), 1253);
    assert.equal(cache.get(1214), 2202);
    cache.put(428, 2364);
    assert.equal(cache.get(48), 2118);
    assert.equal(cache.get(924), 2584);
    assert.equal(cache.get(168), 713);
    assert.equal(cache.get(1022), 2304);
    cache.put(479, 2500);
    cache.put(150, 2182);
    assert.equal(cache.get(555), 1589);
    cache.put(122, 3277);
    cache.put(613, 1713);
    cache.put(101, 1961);
    assert.equal(cache.get(721), null);
    cache.put(146, 747);
    assert.equal(cache.get(1269), 2335);
    cache.put(850, 751);
    cache.put(855, 3141);
    cache.put(17, 2818);
    cache.put(738, 129);
    assert.equal(cache.get(119), null);
    assert.equal(cache.get(1366), 2704);
    cache.put(420, 1421);
    assert.equal(cache.get(86), 1343);
    cache.put(259, 2414);
    cache.put(131, 3175);
    cache.put(644, 1299);
    assert.equal(cache.get(829), 2184);
    cache.put(534, 1600);
    cache.put(1102, 1998);
    cache.put(420, 1037);
    cache.put(104, 1343);
    assert.equal(cache.get(291), null);
    cache.put(357, 140);
    assert.equal(cache.get(449), 523);
    assert.equal(cache.get(924), 2584);
    cache.put(1211, 1621);
    cache.put(1337, 2717);
    assert.equal(cache.get(220), 1589);
    cache.put(1044, 1499);
    assert.equal(cache.get(1224), 2265);
    cache.put(991, 2889);
    cache.put(614, 1109);
    cache.put(1004, 1498);
    cache.put(1162, 796);
    cache.put(1302, 1366);
    cache.put(1407, 3253);
    cache.put(441, 2547);
    assert.equal(cache.get(152), 2080);
    cache.put(133, 1507);
    cache.put(1319, 3014);
    cache.put(1379, 2043);
    assert.equal(cache.get(885), 1930);
    cache.put(842, 332);
    cache.put(32, 763);
    cache.put(1120, 1850);
    cache.put(902, 1411);
    cache.put(848, 2536);
    cache.put(242, 2646);
    assert.equal(cache.get(384), null);
    cache.put(568, 1021);
    assert.equal(cache.get(535), 1544);
    assert.equal(cache.get(884), null);
    cache.put(295, 1720);
    cache.put(104, 534);
    cache.put(256, 3279);
    assert.equal(cache.get(883), null);
    cache.put(424, 509);
    assert.equal(cache.get(44), 695);
    cache.put(86, 944);
    cache.put(618, 1539);
    assert.equal(cache.get(130), 1904);
    cache.put(752, 1362);
    cache.put(320, 471);
    cache.put(385, 1034);
    cache.put(969, 378);
    cache.put(1176, 2589);
    cache.put(1406, 1643);
    cache.put(572, 1650);
    cache.put(925, 1394);
    assert.equal(cache.get(213), null);
    cache.put(1071, 346);
    assert.equal(cache.get(1223), 1730);
    cache.put(1112, 52);
    cache.put(708, 1517);
    cache.put(682, 2145);
    assert.equal(cache.get(360), null);
    cache.put(856, 2476);
    cache.put(1303, 643);
    assert.equal(cache.get(1240), 2464);
    assert.equal(cache.get(934), 2728);
    cache.put(343, 2364);
    cache.put(1190, 1805);
    cache.put(966, 1380);
    assert.equal(cache.get(399), 2754);
    assert.equal(cache.get(1280), null);
    assert.equal(cache.get(1219), 3145);
    cache.put(584, 1000);
    assert.equal(cache.get(1329), null);
    cache.put(1383, 1240);
    cache.put(1200, 1750);
    assert.equal(cache.get(716), 2376);
    cache.put(842, 2201);
    cache.put(1062, 974);
    assert.equal(cache.get(894), 1276);
    assert.equal(cache.get(1130), 618);
    cache.put(571, 193);
    assert.equal(cache.get(720), 1434);
    assert.equal(cache.get(765), null);
    cache.put(466, 1167);
    cache.put(1150, 304);
    assert.equal(cache.get(1368), 1320);
    assert.equal(cache.get(530), 2373);
    cache.put(490, 1182);
    cache.put(1198, 3082);
    cache.put(1323, 2335);
    cache.put(1274, 474);
    cache.put(133, 1865);
    cache.put(968, 1119);
    cache.put(388, 2435);
    cache.put(66, 1238);
    cache.put(808, 2666);
    assert.equal(cache.get(177), 2230);
    assert.equal(cache.get(637), 983);
    assert.equal(cache.get(395), null);
    cache.put(1426, 1315);
    cache.put(74, 3015);
    assert.equal(cache.get(459), 1978);
    cache.put(608, 83);
    assert.equal(cache.get(525), 2924);
    assert.equal(cache.get(1020), null);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(272), null);
    assert.equal(cache.get(568), null);
    assert.equal(cache.get(135), 2203);
    cache.put(1016, 1263);
    assert.equal(cache.get(504), 1366);
    cache.put(345, 1887);
    cache.put(640, 521);
    assert.equal(cache.get(344), 772);
    cache.put(296, 157);
    assert.equal(cache.get(726), null);
    cache.put(450, 1076);
    cache.put(242, 1139);
    assert.equal(cache.get(358), null);
    cache.put(630, 459);
    assert.equal(cache.get(843), 22);
    assert.equal(cache.get(1134), 2483);
    cache.put(1125, 3020);
    assert.equal(cache.get(986), 1097);
    assert.equal(cache.get(296), 157);
    assert.equal(cache.get(1412), null);
    cache.put(248, 1469);
    cache.put(1075, 581);
    cache.put(639, 1271);
    assert.equal(cache.get(1053), 623);
    assert.equal(cache.get(1124), 1087);
    cache.put(1294, 3163);
    assert.equal(cache.get(488), 1849);
    cache.put(1318, 2900);
    cache.put(227, 2777);
    cache.put(901, 899);
    cache.put(1149, 2558);
    assert.equal(cache.get(51), null);
    cache.put(1254, 2949);
    cache.put(1290, 1917);
    cache.put(292, 2392);
    assert.equal(cache.get(1404), 307);
    cache.put(1272, 2693);
    assert.equal(cache.get(78), null);
    assert.equal(cache.get(203), 1139);
    assert.equal(cache.get(1105), 1395);
    assert.equal(cache.get(1056), 375);
    cache.put(1111, 2201);
    cache.put(852, 1061);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(599), null);
    cache.put(1070, 2272);
    assert.equal(cache.get(1246), 2596);
    cache.put(563, 3048);
    assert.equal(cache.get(448), 592);
    assert.equal(cache.get(364), 252);
    assert.equal(cache.get(927), 2952);
    assert.equal(cache.get(27), 2338);
    assert.equal(cache.get(691), 2428);
    cache.put(150, 909);
    cache.put(1299, 781);
    assert.equal(cache.get(1295), 2107);
    cache.put(1357, 1983);
    cache.put(235, 286);
    assert.equal(cache.get(460), 3085);
    assert.equal(cache.get(367), 1962);
    assert.equal(cache.get(160), 2916);
    assert.equal(cache.get(1106), 1370);
    assert.equal(cache.get(854), 768);
    cache.put(100, 3032);
    cache.put(99, 1150);
    cache.put(722, 2184);
    assert.equal(cache.get(274), 1043);
    assert.equal(cache.get(97), null);
    cache.put(919, 671);
    cache.put(14, 3289);
    assert.equal(cache.get(50), null);
    assert.equal(cache.get(170), 2556);
    cache.put(957, 2228);
    cache.put(1303, 1393);
    assert.equal(cache.get(1339), 2005);
    assert.equal(cache.get(967), null);
    assert.equal(cache.get(1126), 1868);
    assert.equal(cache.get(1419), 2468);
    assert.equal(cache.get(970), 1425);
    cache.put(205, 2062);
    cache.put(1413, 385);
    assert.equal(cache.get(1288), 143);
    assert.equal(cache.get(170), 2556);
    assert.equal(cache.get(983), 2696);
    cache.put(344, 2448);
    cache.put(895, 2743);
    assert.equal(cache.get(44), 695);
    cache.put(80, 1257);
    assert.equal(cache.get(680), null);
    assert.equal(cache.get(8), 911);
    cache.put(113, 2675);
    cache.put(866, 1157);
    assert.equal(cache.get(567), null);
    assert.equal(cache.get(469), 725);
    assert.equal(cache.get(1033), 720);
    cache.put(773, 1012);
    cache.put(1157, 1126);
    cache.put(849, 2910);
    cache.put(900, 2003);
    cache.put(402, 1031);
    assert.equal(cache.get(613), 1713);
    cache.put(338, 505);
    assert.equal(cache.get(1210), null);
    cache.put(681, 1690);
    cache.put(337, 125);
    cache.put(1332, 3115);
    cache.put(485, 1937);
    assert.equal(cache.get(1246), 2596);
    cache.put(565, 1072);
    cache.put(1328, 3057);
    assert.equal(cache.get(210), 1381);
    cache.put(1170, 1871);
    cache.put(232, 288);
    cache.put(274, 1428);
    cache.put(572, 143);
    cache.put(151, 704);
    assert.equal(cache.get(698), 444);
    cache.put(397, 3224);
    assert.equal(cache.get(608), null);
    cache.put(963, 823);
    assert.equal(cache.get(601), null);
    cache.put(974, 199);
    assert.equal(cache.get(390), 2224);
    assert.equal(cache.get(183), 2642);
    assert.equal(cache.get(1412), null);
    assert.equal(cache.get(675), 321);
    cache.put(247, 1623);
    cache.put(866, 1921);
    cache.put(653, 1532);
    cache.put(945, 2170);
    assert.equal(cache.get(45), 421);
    cache.put(111, 1537);
    cache.put(883, 2699);
    cache.put(728, 121);
    cache.put(197, 296);
    cache.put(847, 285);
    cache.put(1221, 2173);
    assert.equal(cache.get(83), 1319);
    cache.put(1292, 821);
    assert.equal(cache.get(294), 1043);
    cache.put(699, 1830);
    cache.put(1209, 3097);
    cache.put(461, 2438);
    assert.equal(cache.get(912), null);
    cache.put(43, 768);
    assert.equal(cache.get(476), null);
    assert.equal(cache.get(974), null);
    cache.put(115, 573);
    assert.equal(cache.get(1194), 2554);
    assert.equal(cache.get(31), 2620);
    cache.put(1095, 1533);
    cache.put(1169, 578);
    cache.put(614, 276);
    cache.put(1298, 781);
    cache.put(949, 2511);
    assert.equal(cache.get(256), 3279);
    assert.equal(cache.get(122), 3277);
    cache.put(1423, 356);
    cache.put(392, 882);
    assert.equal(cache.get(360), null);
    cache.put(566, 937);
    assert.equal(cache.get(944), 2111);
    assert.equal(cache.get(503), 853);
    assert.equal(cache.get(603), 678);
    assert.equal(cache.get(960), 3128);
    cache.put(1405, 2635);
    cache.put(1152, 186);
    assert.equal(cache.get(1344), null);
    cache.put(16, 1486);
    assert.equal(cache.get(540), 2690);
    cache.put(308, 2980);
    assert.equal(cache.get(512), 608);
    assert.equal(cache.get(1275), 1272);
    cache.put(4, 1726);
    cache.put(595, 351);
    cache.put(726, 2163);
    assert.equal(cache.get(1251), 1874);
    assert.equal(cache.get(1405), 2635);
    cache.put(1155, 1012);
    assert.equal(cache.get(27), 2338);
    cache.put(548, 29);
    assert.equal(cache.get(87), 2690);
    cache.put(1401, 1014);
    cache.put(1375, 2803);
    cache.put(766, 211);
    assert.equal(cache.get(44), 695);
    cache.put(1320, 2312);
    cache.put(390, 1841);
    assert.equal(cache.get(1166), 856);
    assert.equal(cache.get(1094), null);
    cache.put(133, 2510);
    cache.put(110, 358);
    cache.put(232, 1368);
    assert.equal(cache.get(816), null);
    assert.equal(cache.get(1239), null);
    cache.put(36, 1694);
    assert.equal(cache.get(557), 2246);
    cache.put(501, 369);
    cache.put(199, 1874);
    cache.put(1076, 2402);
    assert.equal(cache.get(1072), 2244);
    assert.equal(cache.get(1421), 1087);
    cache.put(852, 326);
    cache.put(368, 2412);
    cache.put(1402, 3161);
    assert.equal(cache.get(224), 2085);
    cache.put(49, 309);
    cache.put(740, 2580);
    assert.equal(cache.get(34), 2086);
    cache.put(856, 2798);
    assert.equal(cache.get(326), 1410);
    assert.equal(cache.get(265), 2966);
    cache.put(884, 2257);
    cache.put(264, 758);
    assert.equal(cache.get(687), 2577);
    assert.equal(cache.get(1239), null);
    cache.put(302, 586);
    cache.put(895, 940);
    assert.equal(cache.get(815), 351);
    cache.put(408, 1670);
    assert.equal(cache.get(716), 2376);
    cache.put(1230, 599);
    assert.equal(cache.get(283), 2101);
    cache.put(1202, 2713);
    cache.put(53, 1621);
    cache.put(153, 2204);
    cache.put(1429, 1254);
    cache.put(506, 64);
    assert.equal(cache.get(952), 2366);
    cache.put(901, 1985);
    assert.equal(cache.get(591), 3022);
    cache.put(1239, 30);
    assert.equal(cache.get(1002), 1363);
    assert.equal(cache.get(585), 1912);
    cache.put(908, 61);
    assert.equal(cache.get(312), null);
    assert.equal(cache.get(148), 122);
    assert.equal(cache.get(81), 2034);
    assert.equal(cache.get(562), 2175);
    assert.equal(cache.get(672), 1281);
    cache.put(16, 1566);
    cache.put(1392, 1322);
    cache.put(1362, 1071);
    cache.put(708, 1188);
    cache.put(33, 2500);
    cache.put(769, 2162);
    cache.put(1284, 2449);
    assert.equal(cache.get(638), 1013);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(1342), 356);
    assert.equal(cache.get(756), 1804);
    assert.equal(cache.get(429), 1419);
    cache.put(1008, 3251);
    cache.put(1328, 1170);
    cache.put(104, 2952);
    cache.put(320, 1239);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(1009), 2722);
    assert.equal(cache.get(768), 1039);
    cache.put(375, 2056);
    cache.put(509, 578);
    cache.put(464, 129);
    cache.put(1083, 606);
    assert.equal(cache.get(817), 2039);
    cache.put(106, 2750);
    cache.put(1204, 2499);
    cache.put(554, 2231);
    assert.equal(cache.get(164), 1893);
    cache.put(552, 99);
    cache.put(1109, 1286);
    cache.put(606, 1172);
    assert.equal(cache.get(757), 2196);
    assert.equal(cache.get(517), null);
    assert.equal(cache.get(1264), 2190);
    assert.equal(cache.get(316), 445);
    cache.put(1333, 374);
    cache.put(127, 249);
    cache.put(711, 181);
    cache.put(1017, 3068);
    cache.put(302, 3185);
    cache.put(45, 456);
    assert.equal(cache.get(757), 2196);
    cache.put(1204, 1827);
    assert.equal(cache.get(153), 2204);
    cache.put(926, 2535);
    assert.equal(cache.get(462), null);
    cache.put(819, 1777);
    cache.put(697, 2547);
    assert.equal(cache.get(208), 48);
    cache.put(457, 1048);
    assert.equal(cache.get(1263), 1652);
    assert.equal(cache.get(400), 1411);
    assert.equal(cache.get(94), 1529);
    cache.put(952, 2466);
    cache.put(939, 1773);
    assert.equal(cache.get(1316), 1492);
    assert.equal(cache.get(1127), 1097);
    assert.equal(cache.get(958), 2701);
    assert.equal(cache.get(825), 2167);
    cache.put(186, 2751);
    assert.equal(cache.get(753), 1966);
    cache.put(241, 2129);
    cache.put(1316, 2623);
    cache.put(643, 2434);
    assert.equal(cache.get(76), 2189);
    assert.equal(cache.get(1216), 510);
    cache.put(823, 3126);
    cache.put(1369, 2232);
    cache.put(15, 326);
    assert.equal(cache.get(1373), null);
    cache.put(800, 2667);
    assert.equal(cache.get(357), null);
    assert.equal(cache.get(166), null);
    cache.put(395, 2271);
    assert.equal(cache.get(1300), 1005);
    cache.put(908, 2327);
    assert.equal(cache.get(905), 2235);
    assert.equal(cache.get(34), 2086);
    assert.equal(cache.get(213), null);
    cache.put(815, 952);
    cache.put(507, 1695);
    assert.equal(cache.get(512), 608);
    assert.equal(cache.get(1146), null);
    assert.equal(cache.get(582), 2878);
    cache.put(716, 155);
    cache.put(175, 795);
    assert.equal(cache.get(342), 323);
    assert.equal(cache.get(1096), 2173);
    assert.equal(cache.get(1208), 251);
    assert.equal(cache.get(1428), null);
    assert.equal(cache.get(1268), 2819);
    assert.equal(cache.get(533), null);
    cache.put(609, 1887);
    assert.equal(cache.get(212), 2058);
    cache.put(924, 503);
    cache.put(225, 2755);
    cache.put(919, 272);
    cache.put(390, 1315);
    cache.put(1337, 1475);
    cache.put(1422, 1786);
    cache.put(98, 1322);
    assert.equal(cache.get(927), 2952);
    cache.put(312, 2443);
    assert.equal(cache.get(740), 2580);
    cache.put(1297, 344);
    cache.put(347, 868);
    assert.equal(cache.get(1425), 2565);
    assert.equal(cache.get(216), 3088);
    cache.put(309, 3008);
    cache.put(406, 277);
    cache.put(1418, 785);
    cache.put(66, 993);
    cache.put(1260, 2603);
    assert.equal(cache.get(444), null);
    cache.put(743, 3025);
    assert.equal(cache.get(261), 1420);
    assert.equal(cache.get(1207), 1862);
    cache.put(249, 1589);
    assert.equal(cache.get(1045), 27);
    assert.equal(cache.get(756), 1804);
    assert.equal(cache.get(117), 236);
    cache.put(784, 2545);
    cache.put(412, 853);
    assert.equal(cache.get(1350), 1641);
    cache.put(1142, 2415);
    cache.put(595, 1233);
    assert.equal(cache.get(189), 39);
    assert.equal(cache.get(262), null);
    cache.put(1394, 2526);
    assert.equal(cache.get(252), 739);
    cache.put(1012, 306);
    cache.put(664, 1590);
    cache.put(774, 560);
    cache.put(187, 2317);
    cache.put(1262, 499);
    cache.put(419, 421);
    cache.put(188, 817);
    cache.put(142, 2978);
    cache.put(1407, 2804);
    assert.equal(cache.get(70), 1153);
    assert.equal(cache.get(352), 2721);
    cache.put(688, 601);
    cache.put(271, 2282);
    cache.put(857, 868);
    assert.equal(cache.get(910), null);
    cache.put(910, 1584);
    assert.equal(cache.get(1267), 1267);
    assert.equal(cache.get(1334), null);
    cache.put(820, 837);
    assert.equal(cache.get(519), 185);
    cache.put(481, 2370);
    cache.put(75, 15);
    cache.put(572, 1632);
    assert.equal(cache.get(1259), 2952);
    assert.equal(cache.get(119), null);
    assert.equal(cache.get(505), 774);
    cache.put(464, 618);
    cache.put(635, 3281);
    assert.equal(cache.get(432), 3153);
    assert.equal(cache.get(822), 2124);
    assert.equal(cache.get(1139), 1174);
    cache.put(367, 2713);
    assert.equal(cache.get(1029), 1706);
    cache.put(303, 811);
    cache.put(973, 2536);
    cache.put(258, 1103);
    cache.put(701, 1604);
    cache.put(1308, 1110);
    cache.put(262, 752);
    assert.equal(cache.get(418), 2099);
    assert.equal(cache.get(576), 531);
    assert.equal(cache.get(893), 276);
    cache.put(352, 701);
    assert.equal(cache.get(1056), 375);
    cache.put(570, 3132);
    cache.put(1280, 17);
    cache.put(312, 35);
    cache.put(559, 1006);
    assert.equal(cache.get(547), 217);
    cache.put(1081, 1440);
    cache.put(841, 128);
    cache.put(674, 332);
    cache.put(1158, 3020);
    assert.equal(cache.get(514), 2357);
    cache.put(1209, 3173);
    cache.put(14, 3002);
    cache.put(1134, 2718);
    cache.put(1379, 2477);
    cache.put(1053, 2977);
    cache.put(662, 2289);
    assert.equal(cache.get(1093), 281);
    assert.equal(cache.get(1019), 876);
    assert.equal(cache.get(375), 2056);
    assert.equal(cache.get(242), null);
    cache.put(317, 821);
    cache.put(1125, 1969);
    cache.put(1392, 2733);
    assert.equal(cache.get(1393), null);
    cache.put(854, 3268);
    cache.put(1238, 3067);
    cache.put(348, 1539);
    assert.equal(cache.get(1363), 1627);
    assert.equal(cache.get(357), null);
    cache.put(85, 3086);
    cache.put(67, 270);
    cache.put(1225, 504);
    cache.put(216, 2743);
    cache.put(599, 1060);
    assert.equal(cache.get(464), 618);
    assert.equal(cache.get(855), 3141);
    cache.put(1267, 1416);
    cache.put(1227, 2149);
    assert.equal(cache.get(431), 777);
    assert.equal(cache.get(637), 983);
    assert.equal(cache.get(251), 3167);
    cache.put(1291, 289);
    cache.put(20, 2639);
    cache.put(1043, 2780);
    cache.put(351, 1557);
    cache.put(1081, 3033);
    assert.equal(cache.get(879), 774);
    assert.equal(cache.get(1196), 2580);
    cache.put(1085, 1668);
    assert.equal(cache.get(97), null);
    cache.put(800, 657);
    cache.put(578, 2384);
    assert.equal(cache.get(685), 163);
    cache.put(600, 119);
    cache.put(1146, 1823);
    assert.equal(cache.get(846), 2233);
    cache.put(584, 644);
    cache.put(974, 1683);
    assert.equal(cache.get(757), 2196);
    assert.equal(cache.get(664), null);
    cache.put(1304, 2697);
    cache.put(1377, 1142);
    cache.put(539, 1587);
    cache.put(1275, 2563);
    cache.put(130, 927);
    cache.put(87, 2177);
    cache.put(790, 1626);
    cache.put(973, 2716);
    cache.put(482, 431);
    assert.equal(cache.get(362), 2306);
    cache.put(751, 1522);
    cache.put(436, 1700);
    cache.put(782, 180);
    assert.equal(cache.get(112), 2459);
    cache.put(691, 1981);
    assert.equal(cache.get(243), 1906);
    cache.put(571, 1058);
    cache.put(361, 91);
    assert.equal(cache.get(229), 2822);
    assert.equal(cache.get(383), 1153);
    assert.equal(cache.get(383), 1153);
    assert.equal(cache.get(64), 492);
    assert.equal(cache.get(744), 538);
    cache.put(1057, 955);
    cache.put(726, 301);
    cache.put(1304, 701);
    cache.put(136, 2490);
    cache.put(683, 2581);
    assert.equal(cache.get(1249), 150);
    cache.put(154, 778);
    assert.equal(cache.get(242), null);
    cache.put(843, 288);
    cache.put(318, 1781);
    cache.put(507, 1615);
    cache.put(346, 1002);
    cache.put(1217, 2345);
    assert.equal(cache.get(379), 2686);
    cache.put(719, 2029);
    assert.equal(cache.get(748), 3146);
    cache.put(1228, 2043);
    cache.put(1078, 2732);
    assert.equal(cache.get(1257), 1238);
    cache.put(1277, 2371);
    cache.put(373, 2894);
    cache.put(127, 3105);
    assert.equal(cache.get(1243), 1797);
    cache.put(1084, 390);
    cache.put(244, 1394);
    cache.put(1062, 1128);
    assert.equal(cache.get(531), 84);
    cache.put(1081, 1576);
    cache.put(1010, 1153);
    assert.equal(cache.get(410), 3145);
    cache.put(884, 2865);
    cache.put(1228, 388);
    cache.put(144, 3173);
    cache.put(93, 571);
    assert.equal(cache.get(421), 2322);
    assert.equal(cache.get(418), 2099);
    cache.put(1092, 3168);
    cache.put(847, 425);
    cache.put(1319, 27);
    cache.put(272, 1090);
    cache.put(910, 1723);
    assert.equal(cache.get(120), null);
    cache.put(1016, 2284);
    cache.put(351, 2261);
    assert.equal(cache.get(931), null);
    cache.put(112, 568);
    cache.put(255, 2783);
    assert.equal(cache.get(25), 1818);
    cache.put(738, 1342);
    assert.equal(cache.get(316), 445);
    cache.put(600, 1225);
    cache.put(280, 2152);
    assert.equal(cache.get(543), 2678);
    assert.equal(cache.get(104), 2952);
    cache.put(958, 2012);
    cache.put(394, 2558);
    cache.put(32, 3043);
    assert.equal(cache.get(829), 2184);
    cache.put(575, 724);
    assert.equal(cache.get(14), 3002);
    cache.put(883, 178);
    cache.put(362, 1555);
    assert.equal(cache.get(618), 1539);
    assert.equal(cache.get(95), null);
    assert.equal(cache.get(1130), 618);
    assert.equal(cache.get(784), 2545);
    assert.equal(cache.get(548), 29);
    assert.equal(cache.get(474), 567);
    cache.put(967, 2137);
    assert.equal(cache.get(1131), null);
    assert.equal(cache.get(934), 2728);
    cache.put(1356, 1547);
    cache.put(994, 3263);
    cache.put(1102, 1525);
    assert.equal(cache.get(837), 513);
    cache.put(973, 2014);
    assert.equal(cache.get(778), null);
    cache.put(629, 1303);
    cache.put(477, 665);
    cache.put(1104, 1263);
    cache.put(1231, 3071);
    assert.equal(cache.get(26), 1180);
    assert.equal(cache.get(1274), 474);
    cache.put(193, 1652);
    assert.equal(cache.get(778), null);
    cache.put(687, 2404);
    assert.equal(cache.get(598), 786);
    assert.equal(cache.get(76), 2189);
    cache.put(644, 2730);
    assert.equal(cache.get(301), 2702);
    cache.put(26, 3054);
    cache.put(498, 3286);
    assert.equal(cache.get(1121), null);
    cache.put(474, 7);
    assert.equal(cache.get(165), null);
    cache.put(294, 93);
    assert.equal(cache.get(359), null);
    cache.put(477, 2597);
    assert.equal(cache.get(194), 1270);
    cache.put(218, 2893);
    assert.equal(cache.get(517), null);
    cache.put(594, 2632);
    assert.equal(cache.get(509), 578);
    cache.put(936, 3212);
    cache.put(1175, 2476);
    assert.equal(cache.get(1165), 1575);
    cache.put(573, 3183);
    assert.equal(cache.get(135), 2203);
    cache.put(260, 1487);
    cache.put(850, 1431);
    cache.put(12, 2507);
    cache.put(659, 868);
    cache.put(592, 204);
    assert.equal(cache.get(1054), 3260);
    cache.put(690, 100);
    cache.put(1206, 2052);
    assert.equal(cache.get(1369), 2232);
    cache.put(691, 2389);
    cache.put(579, 1029);
    assert.equal(cache.get(784), 2545);
    cache.put(497, 472);
    cache.put(818, 1433);
    cache.put(981, 1150);
    cache.put(254, 1855);
    assert.equal(cache.get(1416), null);
    assert.equal(cache.get(1154), 3132);
    cache.put(1263, 185);
    assert.equal(cache.get(121), 3294);
    cache.put(1127, 1808);
    cache.put(1259, 2791);
    assert.equal(cache.get(436), null);
    cache.put(1326, 478);
    assert.equal(cache.get(258), 1103);
    assert.equal(cache.get(1060), null);
    cache.put(922, 2315);
    assert.equal(cache.get(164), 1893);
    cache.put(984, 1658);
    cache.put(895, 1418);
    assert.equal(cache.get(1150), 304);
    assert.equal(cache.get(1146), null);
    cache.put(864, 709);
    assert.equal(cache.get(1271), 2112);
    cache.put(211, 358);
    cache.put(448, 2703);
    assert.equal(cache.get(392), 882);
    cache.put(625, 2149);
    cache.put(728, 3221);
    cache.put(429, 746);
    cache.put(1254, 2190);
    assert.equal(cache.get(468), null);
    cache.put(258, 3043);
    cache.put(675, 252);
    cache.put(1024, 956);
    assert.equal(cache.get(721), null);
    cache.put(27, 534);
    cache.put(1262, 195);
    cache.put(893, 2879);
    assert.equal(cache.get(306), 1254);
    assert.equal(cache.get(1101), 738);
    cache.put(724, 2063);
    assert.equal(cache.get(1019), 876);
    assert.equal(cache.get(1060), null);
    assert.equal(cache.get(452), 3110);
    cache.put(513, 2851);
    assert.equal(cache.get(886), null);
    assert.equal(cache.get(437), 1669);
    cache.put(362, 1887);
    assert.equal(cache.get(110), null);
    cache.put(1405, 392);
    cache.put(590, 996);
    assert.equal(cache.get(1238), 3067);
    cache.put(1315, 262);
    cache.put(1117, 1929);
    cache.put(146, 2119);
    assert.equal(cache.get(971), 2865);
    cache.put(337, 1916);
    cache.put(381, 1820);
    assert.equal(cache.get(757), 2196);
    assert.equal(cache.get(844), 2800);
    assert.equal(cache.get(1147), 2875);
    cache.put(1192, 1077);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(631), 905);
    assert.equal(cache.get(1004), 1498);
    assert.equal(cache.get(550), 2819);
    cache.put(437, 36);
    assert.equal(cache.get(1361), 618);
    cache.put(888, 2942);
    cache.put(257, 1054);
    assert.equal(cache.get(428), null);
    assert.equal(cache.get(1305), 3291);
    assert.equal(cache.get(1214), 2202);
    assert.equal(cache.get(842), null);
    cache.put(1014, 1079);
    cache.put(1179, 930);
    assert.equal(cache.get(572), 1632);
    cache.put(278, 1495);
    cache.put(548, 2066);
    assert.equal(cache.get(538), null);
    assert.equal(cache.get(1353), null);
    cache.put(972, 2438);
    assert.equal(cache.get(219), 560);
    cache.put(1324, 367);
    cache.put(49, 549);
    cache.put(1282, 2229);
    cache.put(82, 2472);
    assert.equal(cache.get(634), null);
    cache.put(1090, 379);
    cache.put(765, 1283);
    assert.equal(cache.get(196), null);
    assert.equal(cache.get(322), 2939);
    assert.equal(cache.get(1124), 1087);
    assert.equal(cache.get(740), 2580);
    assert.equal(cache.get(302), 3185);
    assert.equal(cache.get(1123), 2062);
    cache.put(96, 1805);
    cache.put(694, 1518);
    cache.put(20, 2008);
    assert.equal(cache.get(1008), 3251);
    cache.put(1427, 797);
    assert.equal(cache.get(299), null);
    cache.put(1132, 1839);
    cache.put(167, 2249);
    cache.put(582, 1232);
    cache.put(1411, 141);
    cache.put(16, 2888);
    assert.equal(cache.get(1074), 2864);
    cache.put(1420, 2456);
    cache.put(1150, 479);
    cache.put(634, 2974);
    cache.put(681, 2398);
    cache.put(527, 50);
    cache.put(712, 676);
    assert.equal(cache.get(336), 2779);
    cache.put(483, 2769);
    cache.put(34, 1706);
    cache.put(1027, 837);
    cache.put(169, 3075);
    assert.equal(cache.get(176), null);
    cache.put(580, 2516);
    cache.put(1368, 2764);
    assert.equal(cache.get(193), 1652);
    cache.put(91, 2880);
    assert.equal(cache.get(892), 2456);
    cache.put(144, 592);
    cache.put(1089, 2799);
    cache.put(302, 613);
    cache.put(285, 2500);
    assert.equal(cache.get(259), 2414);
    cache.put(201, 105);
    cache.put(498, 1716);
    cache.put(947, 1751);
    assert.equal(cache.get(1219), 3145);
    cache.put(157, 262);
    assert.equal(cache.get(354), 3114);
    assert.equal(cache.get(96), 1805);
    cache.put(924, 1895);
    assert.equal(cache.get(95), null);
    cache.put(145, 2558);
    cache.put(632, 401);
    cache.put(1377, 2142);
    assert.equal(cache.get(211), 358);
    cache.put(601, 1876);
    assert.equal(cache.get(1181), 3170);
    cache.put(1038, 3220);
    cache.put(843, 1031);
    cache.put(265, 2581);
    cache.put(766, 853);
    cache.put(817, 3029);
    cache.put(954, 816);
    cache.put(47, 3291);
    cache.put(807, 1769);
    assert.equal(cache.get(880), null);
    cache.put(168, 2815);
    cache.put(250, 2554);
    cache.put(114, 2531);
    cache.put(813, 1731);
    assert.equal(cache.get(134), 1322);
    cache.put(529, 2001);
    assert.equal(cache.get(899), 3227);
    assert.equal(cache.get(861), null);
    assert.equal(cache.get(413), 3144);
    cache.put(455, 157);
    cache.put(663, 953);
    cache.put(390, 3189);
    cache.put(684, 2817);
    cache.put(1156, 1503);
    cache.put(484, 457);
    assert.equal(cache.get(1430), 2099);
    cache.put(681, 3074);
    assert.equal(cache.get(1263), 185);
    assert.equal(cache.get(123), null);
    assert.equal(cache.get(682), 2145);
    assert.equal(cache.get(11), null);
    cache.put(961, 1122);
    cache.put(588, 2222);
    assert.equal(cache.get(416), 2632);
    assert.equal(cache.get(835), 1586);
    cache.put(671, 2728);
    cache.put(758, 1191);
    cache.put(601, 3018);
    assert.equal(cache.get(1345), 1439);
    cache.put(59, 1116);
    assert.equal(cache.get(564), null);
    cache.put(37, 1493);
    assert.equal(cache.get(251), 3167);
    cache.put(570, 2032);
    cache.put(58, 3232);
    assert.equal(cache.get(1132), 1839);
    assert.equal(cache.get(366), null);
    cache.put(232, 1108);
    cache.put(967, 111);
    cache.put(158, 1474);
    assert.equal(cache.get(124), 550);
    assert.equal(cache.get(721), null);
    assert.equal(cache.get(440), 1054);
    assert.equal(cache.get(293), null);
    assert.equal(cache.get(1249), 150);
    cache.put(1341, 1271);
    assert.equal(cache.get(1263), 185);
    assert.equal(cache.get(77), null);
    assert.equal(cache.get(1049), 188);
    assert.equal(cache.get(1401), 1014);
    cache.put(1218, 1680);
    cache.put(1429, 2156);
    assert.equal(cache.get(770), 770);
    cache.put(1179, 1283);
    assert.equal(cache.get(962), 471);
    cache.put(93, 2959);
    cache.put(1313, 3202);
    cache.put(601, 357);
    cache.put(1379, 3026);
    assert.equal(cache.get(79), 2012);
    cache.put(1140, 3097);
    cache.put(469, 1643);
    assert.equal(cache.get(669), 3176);
    cache.put(830, 3110);
    assert.equal(cache.get(622), null);
    cache.put(524, 3075);
    cache.put(1351, 1803);
    assert.equal(cache.get(183), 2642);
    assert.equal(cache.get(24), 1804);
    assert.equal(cache.get(467), 1152);
    cache.put(769, 2936);
    cache.put(101, 1025);
    assert.equal(cache.get(846), 2233);
    cache.put(917, 1622);
    assert.equal(cache.get(299), null);
    cache.put(1199, 2068);
    assert.equal(cache.get(958), 2012);
    cache.put(443, 1750);
    assert.equal(cache.get(1316), 2623);
    cache.put(1232, 1755);
    cache.put(477, 2505);
    assert.equal(cache.get(870), 1772);
    assert.equal(cache.get(120), null);
    cache.put(1416, 1403);
    cache.put(1259, 2257);
    assert.equal(cache.get(584), 644);
    cache.put(1176, 3202);
    cache.put(944, 165);
    assert.equal(cache.get(197), 296);
    cache.put(907, 2442);
    cache.put(893, 2256);
    cache.put(17, 851);
    cache.put(502, 926);
    cache.put(1380, 34);
    cache.put(427, 2460);
    assert.equal(cache.get(343), 2364);
    cache.put(999, 1235);
    cache.put(239, 1676);
    assert.equal(cache.get(55), 55);
    assert.equal(cache.get(402), 1031);
    cache.put(286, 1784);
    cache.put(967, 1469);
    cache.put(460, 76);
    cache.put(863, 355);
    assert.equal(cache.get(319), null);
    cache.put(1048, 3064);
    cache.put(156, 937);
    assert.equal(cache.get(489), 3038);
    cache.put(361, 461);
    assert.equal(cache.get(314), 3159);
    cache.put(316, 1662);
    cache.put(1212, 67);
    cache.put(802, 2289);
    assert.equal(cache.get(545), 596);
    cache.put(216, 383);
    cache.put(158, 1763);
    cache.put(208, 55);
    cache.put(1317, 1540);
    cache.put(352, 2396);
    cache.put(801, 1311);
    cache.put(1384, 3092);
    cache.put(963, 1383);
    cache.put(265, 1870);
    cache.put(1285, 3082);
    assert.equal(cache.get(3), 770);
    cache.put(1003, 1780);
    cache.put(1210, 559);
    cache.put(773, 3250);
    cache.put(640, 373);
    assert.equal(cache.get(55), 55);
    cache.put(1279, 2805);
    cache.put(1336, 395);
    assert.equal(cache.get(518), 1873);
    assert.equal(cache.get(1336), 395);
    assert.equal(cache.get(990), null);
    cache.put(293, 3204);
    assert.equal(cache.get(327), 1834);
    cache.put(1204, 1673);
    assert.equal(cache.get(697), 2547);
    assert.equal(cache.get(991), null);
    assert.equal(cache.get(505), 774);
    cache.put(589, 1198);
    assert.equal(cache.get(971), 2865);
    cache.put(1298, 1367);
    assert.equal(cache.get(508), null);
    cache.put(239, 2198);
    cache.put(384, 736);
    cache.put(1088, 2052);
    assert.equal(cache.get(1243), 1797);
    cache.put(412, 2590);
    cache.put(1386, 382);
    assert.equal(cache.get(943), 2701);
    cache.put(1265, 2500);
    cache.put(1163, 2971);
    assert.equal(cache.get(950), null);
    assert.equal(cache.get(336), 2779);
    assert.equal(cache.get(595), 1233);
    cache.put(400, 176);
    cache.put(574, 1936);
    assert.equal(cache.get(801), 1311);
    assert.equal(cache.get(955), null);
    assert.equal(cache.get(951), 1557);
    assert.equal(cache.get(568), null);
    assert.equal(cache.get(920), 1210);
    cache.put(389, 1015);
    cache.put(1328, 2147);
    assert.equal(cache.get(361), null);
    cache.put(651, 1125);
    assert.equal(cache.get(331), 745);
    cache.put(781, 1821);
    assert.equal(cache.get(142), 2978);
    cache.put(747, 2726);
    cache.put(507, 2284);
    cache.put(1099, 1757);
    cache.put(1358, 2536);
    assert.equal(cache.get(255), 2783);
    cache.put(1102, 1093);
    cache.put(434, 2611);
    cache.put(1135, 150);
    assert.equal(cache.get(1311), 1498);
    cache.put(230, 2971);
    assert.equal(cache.get(1173), null);
    assert.equal(cache.get(885), 1930);
    cache.put(1306, 1919);
    cache.put(989, 136);
    cache.put(13, 1694);
    cache.put(541, 777);
    cache.put(584, 2799);
    assert.equal(cache.get(829), 2184);
    assert.equal(cache.get(435), 1564);
    assert.equal(cache.get(673), null);
    assert.equal(cache.get(1290), null);
    cache.put(997, 417);
    assert.equal(cache.get(395), null);
    assert.equal(cache.get(144), null);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(1317), 1540);
    assert.equal(cache.get(57), 2042);
    cache.put(1398, 695);
    assert.equal(cache.get(1198), null);
    assert.equal(cache.get(968), 1119);
    assert.equal(cache.get(1228), 388);
    cache.put(865, 3099);
    cache.put(1273, 777);
    cache.put(1220, 1141);
    assert.equal(cache.get(598), 786);
    cache.put(121, 1793);
    cache.put(1192, 1316);
    cache.put(31, 328);
    cache.put(199, 138);
    cache.put(1174, 2836);
    cache.put(1257, 680);
    assert.equal(cache.get(420), 1037);
    assert.equal(cache.get(738), null);
    assert.equal(cache.get(472), 854);
    cache.put(431, 341);
    cache.put(339, 2640);
    assert.equal(cache.get(305), 1755);
    cache.put(223, 2701);
    cache.put(816, 662);
    cache.put(486, 1239);
    cache.put(663, 1215);
    cache.put(479, 1419);
    cache.put(491, 922);
    assert.equal(cache.get(1400), 994);
    assert.equal(cache.get(581), 1446);
    assert.equal(cache.get(1037), 1195);
    assert.equal(cache.get(138), 2666);
    cache.put(542, 2598);
    cache.put(152, 2368);
    cache.put(167, 61);
    assert.equal(cache.get(1084), 390);
    cache.put(1223, 3108);
    cache.put(987, 1206);
    assert.equal(cache.get(1089), null);
    assert.equal(cache.get(1058), 1399);
    assert.equal(cache.get(781), 1821);
    assert.equal(cache.get(562), 2175);
    assert.equal(cache.get(1084), 390);
    cache.put(348, 1225);
    assert.equal(cache.get(764), null);
    cache.put(496, 1555);
    cache.put(784, 157);
    cache.put(1067, 3159);
    cache.put(722, 2459);
    cache.put(564, 1894);
    assert.equal(cache.get(1010), 1153);
    cache.put(181, 1630);
    cache.put(1071, 178);
    assert.equal(cache.get(505), 774);
    cache.put(1095, 670);
    assert.equal(cache.get(762), null);
    assert.equal(cache.get(186), 2751);
    cache.put(708, 36);
    assert.equal(cache.get(353), 56);
    cache.put(1193, 2999);
    assert.equal(cache.get(1301), 2944);
    cache.put(520, 396);
    cache.put(296, 2870);
    assert.equal(cache.get(399), 2754);
    cache.put(1050, 741);
    cache.put(614, 2329);
    cache.put(35, 510);
    cache.put(315, 1914);
    cache.put(1430, 2827);
    cache.put(1146, 2533);
    cache.put(19, 2053);
    cache.put(176, 174);
    cache.put(905, 203);
    cache.put(998, 858);
    assert.equal(cache.get(890), null);
    cache.put(874, 981);
    cache.put(1109, 347);
    assert.equal(cache.get(989), 136);
    assert.equal(cache.get(117), 236);
    assert.equal(cache.get(614), 2329);
    cache.put(1320, 2157);
    cache.put(1186, 635);
    assert.equal(cache.get(526), 3000);
    cache.put(957, 1989);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(574), 1936);
    assert.equal(cache.get(648), 508);
    cache.put(333, 2271);
    cache.put(1089, 1598);
    cache.put(594, 1676);
    assert.equal(cache.get(864), 709);
    cache.put(637, 794);
    assert.equal(cache.get(1366), 2704);
    assert.equal(cache.get(326), 1410);
    cache.put(904, 3055);
    cache.put(332, 2361);
    cache.put(1301, 692);
    assert.equal(cache.get(786), null);
    cache.put(1168, 2392);
    assert.equal(cache.get(339), 2640);
    assert.equal(cache.get(132), 1396);
    assert.equal(cache.get(743), 3025);
    assert.equal(cache.get(296), 2870);
    assert.equal(cache.get(684), 2817);
    cache.put(401, 1398);
    assert.equal(cache.get(74), null);
    cache.put(759, 3098);
    assert.equal(cache.get(21), 761);
    assert.equal(cache.get(1325), 417);
    cache.put(1277, 2631);
    cache.put(783, 1441);
    cache.put(182, 2544);
    cache.put(1044, 311);
    cache.put(940, 1625);
    cache.put(898, 2018);
    assert.equal(cache.get(940), 1625);
    assert.equal(cache.get(880), null);
    cache.put(540, 2318);
    assert.equal(cache.get(772), 799);
    assert.equal(cache.get(288), 163);
    assert.equal(cache.get(40), 2570);
    assert.equal(cache.get(1244), 202);
    assert.equal(cache.get(1359), 2553);
    cache.put(101, 2076);
    cache.put(1203, 1576);
    assert.equal(cache.get(201), 105);
    cache.put(407, 1220);
    assert.equal(cache.get(1150), 479);
    assert.equal(cache.get(391), 2148);
    assert.equal(cache.get(921), 926);
    assert.equal(cache.get(691), 2389);
    cache.put(113, 2391);
    cache.put(114, 14);
    cache.put(282, 1348);
    cache.put(108, 2765);
    assert.equal(cache.get(492), 1004);
    cache.put(681, 2249);
    cache.put(1019, 1923);
    assert.equal(cache.get(565), 1072);
    cache.put(1424, 1996);
    cache.put(119, 1745);
    cache.put(932, 687);
    assert.equal(cache.get(369), null);
    cache.put(906, 2926);
    assert.equal(cache.get(449), 523);
    cache.put(35, 3288);
    cache.put(708, 397);
    assert.equal(cache.get(1088), 2052);
    assert.equal(cache.get(77), null);
    cache.put(370, 2840);
    cache.put(1258, 1330);
    assert.equal(cache.get(1), 2796);
    assert.equal(cache.get(1075), null);
    cache.put(450, 3147);
    cache.put(839, 182);
    cache.put(105, 354);
    cache.put(306, 341);
    assert.equal(cache.get(1061), 597);
    cache.put(520, 599);
    assert.equal(cache.get(6), null);
    assert.equal(cache.get(18), 2417);
    cache.put(821, 579);
    cache.put(902, 2900);
    assert.equal(cache.get(269), 3297);
    assert.equal(cache.get(1165), 1575);
    assert.equal(cache.get(187), null);
    assert.equal(cache.get(1405), 392);
    cache.put(1234, 1466);
    assert.equal(cache.get(1221), 2173);
    cache.put(89, 71);
    assert.equal(cache.get(561), 618);
    cache.put(1295, 895);
    cache.put(565, 1291);
    cache.put(1196, 2527);
    assert.equal(cache.get(128), null);
    assert.equal(cache.get(236), null);
    cache.put(336, 3248);
    assert.equal(cache.get(175), 795);
    cache.put(1160, 601);
    cache.put(799, 195);
    cache.put(541, 1566);
    cache.put(591, 1358);
    cache.put(892, 1878);
    assert.equal(cache.get(1362), null);
    assert.equal(cache.get(294), 93);
    assert.equal(cache.get(418), 2099);
    cache.put(297, 2792);
    assert.equal(cache.get(744), 538);
    cache.put(565, 1469);
    cache.put(161, 817);
    cache.put(750, 1922);
    cache.put(594, 2245);
    cache.put(417, 1948);
    cache.put(758, 2264);
    cache.put(1066, 2419);
    cache.put(427, 322);
    cache.put(615, 1481);
    cache.put(325, 1494);
    assert.equal(cache.get(532), 2548);
    cache.put(1069, 1968);
    cache.put(621, 156);
    cache.put(107, 674);
    cache.put(1127, 1457);
    assert.equal(cache.get(25), 1818);
    cache.put(699, 1706);
    cache.put(1331, 1744);
    cache.put(434, 1569);
    assert.equal(cache.get(329), 1635);
    cache.put(47, 2944);
    cache.put(1089, 50);
    cache.put(913, 2387);
    cache.put(1353, 876);
    assert.equal(cache.get(1265), 2500);
    cache.put(1135, 556);
    cache.put(663, 1055);
    cache.put(980, 2569);
    cache.put(917, 2630);
    cache.put(596, 2790);
    cache.put(561, 412);
    assert.equal(cache.get(181), 1630);
    cache.put(1349, 514);
    cache.put(1212, 1062);
    cache.put(1356, 3102);
    cache.put(1342, 1570);
    assert.equal(cache.get(426), 3085);
    cache.put(81, 910);
    cache.put(1049, 3022);
    cache.put(1307, 1340);
    cache.put(165, 2966);
    cache.put(1259, 169);
    cache.put(884, 675);
    cache.put(374, 1215);
    assert.equal(cache.get(1407), 2804);
    cache.put(666, 2598);
    assert.equal(cache.get(1175), 2476);
    cache.put(991, 2076);
    cache.put(520, 26);
    assert.equal(cache.get(284), 3214);
    assert.equal(cache.get(296), 2870);
    cache.put(964, 955);
    assert.equal(cache.get(453), 2115);
    cache.put(516, 170);
    cache.put(946, 1757);
    cache.put(714, 2688);
    cache.put(598, 1289);
    assert.equal(cache.get(1286), 824);
    cache.put(1018, 29);
    cache.put(473, 804);
    assert.equal(cache.get(775), 3137);
    cache.put(727, 2026);
    assert.equal(cache.get(395), null);
    cache.put(545, 545);
    cache.put(21, 470);
    cache.put(633, 700);
    cache.put(396, 2144);
    cache.put(687, 3054);
    cache.put(1225, 3004);
    cache.put(731, 2208);
    cache.put(1326, 2396);
    assert.equal(cache.get(776), 3269);
    assert.equal(cache.get(271), 2282);
    cache.put(218, 503);
    cache.put(1286, 2306);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(267), 1372);
    assert.equal(cache.get(1219), 3145);
    assert.equal(cache.get(1267), 1416);
    assert.equal(cache.get(1324), 367);
    cache.put(1064, 2954);
    assert.equal(cache.get(876), null);
    cache.put(1144, 1697);
    cache.put(953, 2964);
    assert.equal(cache.get(1159), 2715);
    assert.equal(cache.get(352), 2396);
    cache.put(54, 2713);
    assert.equal(cache.get(902), 2900);
    assert.equal(cache.get(799), null);
    cache.put(276, 3040);
    cache.put(425, 2830);
    assert.equal(cache.get(779), null);
    cache.put(485, 776);
    cache.put(452, 2445);
    assert.equal(cache.get(613), 1713);
    cache.put(1022, 1954);
    assert.equal(cache.get(730), 3038);
    assert.equal(cache.get(694), null);
    assert.equal(cache.get(1127), 1457);
    assert.equal(cache.get(852), 326);
    assert.equal(cache.get(190), 127);
    cache.put(601, 224);
    cache.put(600, 1110);
    assert.equal(cache.get(993), 408);
    assert.equal(cache.get(1291), 289);
    assert.equal(cache.get(891), 2450);
    assert.equal(cache.get(764), null);
    cache.put(688, 227);
    cache.put(739, 3303);
    cache.put(1075, 19);
    cache.put(697, 2369);
    cache.put(275, 1685);
    assert.equal(cache.get(748), 3146);
    assert.equal(cache.get(1145), 2157);
    assert.equal(cache.get(824), 3031);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(1072), 2244);
    cache.put(533, 1564);
    assert.equal(cache.get(97), null);
    assert.equal(cache.get(149), 2554);
    assert.equal(cache.get(738), null);
    assert.equal(cache.get(267), 1372);
    cache.put(950, 86);
    cache.put(493, 2802);
    cache.put(959, 2468);
    assert.equal(cache.get(175), 795);
    cache.put(217, 2776);
    assert.equal(cache.get(1079), 359);
    assert.equal(cache.get(1260), null);
    cache.put(416, 1030);
    assert.equal(cache.get(6), null);
    cache.put(831, 577);
    assert.equal(cache.get(948), 2435);
    cache.put(1156, 1194);
    assert.equal(cache.get(1309), null);
    assert.equal(cache.get(153), 2204);
    cache.put(1082, 2709);
    assert.equal(cache.get(125), 881);
    cache.put(415, 2375);
    assert.equal(cache.get(922), 2315);
    cache.put(391, 874);
    cache.put(1194, 437);
    assert.equal(cache.get(537), 2070);
    assert.equal(cache.get(679), 1124);
    assert.equal(cache.get(1364), 1829);
    assert.equal(cache.get(1071), 178);
    assert.equal(cache.get(12), 2507);
    assert.equal(cache.get(1142), null);
    cache.put(684, 2743);
    cache.put(1279, 1839);
    cache.put(1113, 1161);
    cache.put(1309, 1407);
    cache.put(346, 211);
    assert.equal(cache.get(823), null);
    assert.equal(cache.get(523), null);
    assert.equal(cache.get(1426), 1315);
    cache.put(1248, 1046);
    cache.put(872, 209);
    cache.put(150, 854);
    cache.put(1098, 2601);
    assert.equal(cache.get(1283), 756);
    cache.put(777, 850);
    cache.put(603, 891);
    cache.put(536, 1072);
    assert.equal(cache.get(255), 2783);
    assert.equal(cache.get(1223), 3108);
    assert.equal(cache.get(591), 1358);
    cache.put(1380, 616);
    cache.put(1237, 2837);
    assert.equal(cache.get(75), null);
    cache.put(407, 2300);
    cache.put(892, 2140);
    assert.equal(cache.get(1367), 876);
    cache.put(730, 1742);
    assert.equal(cache.get(839), 182);
    cache.put(864, 2876);
    cache.put(390, 691);
    cache.put(1104, 1100);
    assert.equal(cache.get(135), 2203);
    cache.put(433, 3007);
    assert.equal(cache.get(1123), 2062);
    assert.equal(cache.get(271), 2282);
    cache.put(286, 1481);
    cache.put(115, 2447);
    assert.equal(cache.get(629), 1303);
    cache.put(860, 211);
    assert.equal(cache.get(791), 232);
    cache.put(134, 3122);
    cache.put(1327, 176);
    cache.put(67, 760);
    cache.put(12, 654);
    cache.put(1083, 441);
    cache.put(1358, 1240);
    cache.put(1158, 861);
    cache.put(618, 1885);
    cache.put(1367, 487);
    cache.put(175, 106);
    cache.put(39, 1035);
    assert.equal(cache.get(923), 3170);
    cache.put(132, 209);
    cache.put(673, 209);
    cache.put(937, 2956);
    cache.put(900, 1603);
    assert.equal(cache.get(1002), 1363);
    assert.equal(cache.get(151), 704);
    cache.put(625, 1304);
    assert.equal(cache.get(672), 1281);
    cache.put(244, 202);
    assert.equal(cache.get(1144), 1697);
    cache.put(430, 2989);
    assert.equal(cache.get(1064), 2954);
    cache.put(907, 3012);
    assert.equal(cache.get(270), 1821);
    cache.put(929, 1214);
    assert.equal(cache.get(978), 1179);
    assert.equal(cache.get(954), 816);
    assert.equal(cache.get(688), 227);
    assert.equal(cache.get(999), 1235);
    cache.put(217, 1887);
    cache.put(805, 1032);
    assert.equal(cache.get(688), 227);
    cache.put(993, 2763);
    cache.put(444, 220);
    cache.put(1221, 1384);
    assert.equal(cache.get(1001), null);
    cache.put(98, 1002);
    cache.put(1378, 1269);
    cache.put(439, 2878);
    cache.put(1116, 2208);
    assert.equal(cache.get(463), 1154);
    assert.equal(cache.get(1147), 2875);
    cache.put(38, 1368);
    assert.equal(cache.get(543), 2678);
    assert.equal(cache.get(18), 2417);
    assert.equal(cache.get(311), 824);
    cache.put(1161, 2874);
    cache.put(1294, 3045);
    cache.put(489, 176);
    assert.equal(cache.get(1252), 1907);
    assert.equal(cache.get(1377), 2142);
    assert.equal(cache.get(1360), 2792);
    assert.equal(cache.get(1192), 1316);
    cache.put(595, 407);
    assert.equal(cache.get(1289), null);
    assert.equal(cache.get(927), 2952);
    cache.put(985, 822);
    cache.put(1256, 2158);
    assert.equal(cache.get(1234), 1466);
    cache.put(218, 142);
    assert.equal(cache.get(462), null);
    assert.equal(cache.get(345), 1887);
    cache.put(757, 2736);
    cache.put(1153, 2120);
    cache.put(157, 1564);
    assert.equal(cache.get(1046), 2159);
    cache.put(1277, 2927);
    cache.put(1086, 2955);
    cache.put(337, 2389);
    cache.put(619, 2265);
    cache.put(665, 1026);
    assert.equal(cache.get(496), 1555);
    cache.put(30, 2371);
    cache.put(461, 1400);
    assert.equal(cache.get(1003), 1780);
    assert.equal(cache.get(812), 2395);
    assert.equal(cache.get(1256), 2158);
    cache.put(290, 2012);
    cache.put(462, 3110);
    cache.put(1355, 1649);
    cache.put(993, 1586);
    assert.equal(cache.get(5), null);
    assert.equal(cache.get(103), 3197);
    cache.put(1418, 360);
    cache.put(83, 2230);
    assert.equal(cache.get(125), 881);
    cache.put(1379, 2924);
    cache.put(964, 2096);
    cache.put(755, 2586);
    assert.equal(cache.get(58), 3232);
    cache.put(129, 1461);
    cache.put(835, 3118);
    assert.equal(cache.get(1303), null);
    cache.put(813, 235);
    assert.equal(cache.get(1310), 1335);
    assert.equal(cache.get(367), 2713);
    cache.put(287, 2402);
    assert.equal(cache.get(844), 2800);
    assert.equal(cache.get(794), null);
    cache.put(1160, 2209);
    cache.put(771, 2205);
    cache.put(1273, 1681);
    cache.put(203, 554);
    cache.put(504, 182);
    cache.put(525, 2294);
    cache.put(257, 2743);
    assert.equal(cache.get(896), 495);
    assert.equal(cache.get(272), null);
    assert.equal(cache.get(1004), 1498);
    assert.equal(cache.get(417), null);
    cache.put(1405, 527);
    assert.equal(cache.get(884), null);
    assert.equal(cache.get(821), 579);
    cache.put(772, 827);
    cache.put(167, 422);
    assert.equal(cache.get(614), 2329);
    cache.put(428, 2376);
    cache.put(512, 2504);
    assert.equal(cache.get(1014), 1079);
    cache.put(1046, 3228);
    cache.put(856, 1281);
    cache.put(1135, 809);
    cache.put(1074, 1388);
    cache.put(812, 1640);
    cache.put(24, 3197);
    cache.put(105, 2475);
    assert.equal(cache.get(600), 1110);
    cache.put(5, 925);
    assert.equal(cache.get(1042), null);
    assert.equal(cache.get(575), 724);
    assert.equal(cache.get(260), null);
    assert.equal(cache.get(748), 3146);
    cache.put(523, 1320);
    assert.equal(cache.get(1346), 165);
    assert.equal(cache.get(140), 2904);
    cache.put(283, 3166);
    cache.put(858, 3222);
    assert.equal(cache.get(1125), null);
    cache.put(324, 3274);
    cache.put(1288, 939);
    assert.equal(cache.get(1135), 809);
    assert.equal(cache.get(296), 2870);
    cache.put(1187, 637);
    cache.put(1013, 2160);
    cache.put(6, 684);
    cache.put(958, 2321);
    cache.put(262, 1225);
    cache.put(902, 1257);
    assert.equal(cache.get(1425), 2565);
    assert.equal(cache.get(552), 99);
    cache.put(1100, 1694);
    cache.put(379, 395);
    assert.equal(cache.get(521), null);
    assert.equal(cache.get(754), 876);
    assert.equal(cache.get(14), 3002);
    cache.put(1252, 276);
    cache.put(85, 3062);
    cache.put(846, 2515);
    assert.equal(cache.get(571), 1058);
    assert.equal(cache.get(419), 421);
    assert.equal(cache.get(1147), 2875);
    cache.put(1073, 2078);
    cache.put(1053, 738);
    cache.put(1304, 2983);
    cache.put(202, 33);
    cache.put(530, 1705);
    cache.put(1366, 1454);
    cache.put(42, 932);
    assert.equal(cache.get(982), 1119);
    cache.put(781, 695);
    cache.put(818, 1817);
    assert.equal(cache.get(293), null);
    assert.equal(cache.get(510), 24);
    cache.put(566, 203);
    cache.put(1066, 750);
    assert.equal(cache.get(273), 1576);
    assert.equal(cache.get(523), null);
    assert.equal(cache.get(1289), null);
    cache.put(940, 385);
    cache.put(793, 2359);
    assert.equal(cache.get(628), 2301);
    cache.put(279, 2673);
    assert.equal(cache.get(753), 1966);
    assert.equal(cache.get(12), 654);
    cache.put(1079, 1245);
    cache.put(757, 2221);
    cache.put(646, 1399);
    assert.equal(cache.get(735), 3026);
    cache.put(838, 1488);
    cache.put(272, 107);
    assert.equal(cache.get(723), 2304);
    assert.equal(cache.get(844), 2800);
    cache.put(816, 797);
    assert.equal(cache.get(84), 547);
    cache.put(1342, 1076);
    cache.put(642, 712);
    assert.equal(cache.get(1018), 29);
    cache.put(890, 3125);
    cache.put(763, 1415);
    cache.put(539, 390);
    assert.equal(cache.get(249), 1589);
    cache.put(531, 1962);
    assert.equal(cache.get(808), 2666);
    cache.put(1093, 2626);
    assert.equal(cache.get(139), 2319);
    cache.put(225, 3012);
    assert.equal(cache.get(546), null);
    assert.equal(cache.get(406), 277);
    assert.equal(cache.get(473), 804);
    assert.equal(cache.get(369), null);
    cache.put(1391, 1506);
    cache.put(329, 559);
    cache.put(400, 2141);
    assert.equal(cache.get(1318), 2900);
    cache.put(1144, 1128);
    cache.put(240, 7);
    assert.equal(cache.get(39), 1035);
    cache.put(1320, 236);
    assert.equal(cache.get(542), 2598);
    cache.put(327, 2417);
    cache.put(93, 2223);
    cache.put(1155, 464);
    cache.put(632, 1924);
    assert.equal(cache.get(751), 1522);
    assert.equal(cache.get(1038), 3220);
    assert.equal(cache.get(1280), null);
    cache.put(1102, 1688);
    cache.put(1083, 1427);
    cache.put(456, 1715);
    cache.put(1048, 621);
    cache.put(806, 2163);
    cache.put(1392, 852);
    cache.put(1293, 433);
    assert.equal(cache.get(1205), 1322);
    assert.equal(cache.get(1237), 2837);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(817), 3029);
    assert.equal(cache.get(779), null);
    assert.equal(cache.get(406), 277);
    assert.equal(cache.get(1393), null);
    cache.put(799, 2980);
    assert.equal(cache.get(960), 3128);
    assert.equal(cache.get(135), 2203);
    cache.put(1379, 2763);
    cache.put(1040, 3188);
    cache.put(245, 2966);
    cache.put(305, 1492);
    assert.equal(cache.get(354), 3114);
    cache.put(12, 1662);
    assert.equal(cache.get(930), 871);
    assert.equal(cache.get(1105), 1395);
    assert.equal(cache.get(998), 858);
    assert.equal(cache.get(379), 395);
    cache.put(39, 686);
    assert.equal(cache.get(1372), 1312);
    assert.equal(cache.get(687), 3054);
    assert.equal(cache.get(1423), 356);
    cache.put(1332, 1756);
    assert.equal(cache.get(1347), 1803);
    cache.put(1191, 1716);
    cache.put(1103, 271);
    cache.put(169, 2001);
    cache.put(1326, 2125);
    cache.put(700, 2385);
    assert.equal(cache.get(861), null);
    cache.put(1105, 2214);
    cache.put(718, 1351);
    cache.put(187, 2198);
    cache.put(287, 2929);
    assert.equal(cache.get(123), null);
    assert.equal(cache.get(853), 1802);
    assert.equal(cache.get(501), 369);
    assert.equal(cache.get(238), 3213);
    assert.equal(cache.get(1226), null);
    assert.equal(cache.get(987), 1206);
    assert.equal(cache.get(569), 2316);
    assert.equal(cache.get(25), 1818);
    assert.equal(cache.get(149), 2554);
    assert.equal(cache.get(314), 3159);
    assert.equal(cache.get(81), 910);
    cache.put(1029, 1973);
    assert.equal(cache.get(846), 2515);
    assert.equal(cache.get(209), 640);
    cache.put(1230, 1252);
    assert.equal(cache.get(81), 910);
    cache.put(249, 2480);
    assert.equal(cache.get(640), 373);
    assert.equal(cache.get(1030), 1671);
    assert.equal(cache.get(736), 2971);
    assert.equal(cache.get(241), 2129);
    cache.put(1180, 1012);
    cache.put(1032, 2924);
    cache.put(556, 2934);
    cache.put(837, 1210);
    cache.put(1236, 1024);
    assert.equal(cache.get(766), 853);
    cache.put(1372, 3088);
    cache.put(627, 1112);
    cache.put(1067, 1928);
    cache.put(717, 571);
    assert.equal(cache.get(645), null);
    cache.put(754, 2777);
    cache.put(1185, 905);
    cache.put(794, 1106);
    cache.put(1386, 331);
    cache.put(56, 848);
    assert.equal(cache.get(654), 1792);
    assert.equal(cache.get(139), 2319);
    assert.equal(cache.get(766), 853);
    assert.equal(cache.get(167), 422);
    cache.put(793, 1817);
    cache.put(707, 2948);
    cache.put(244, 2125);
    cache.put(596, 1060);
    assert.equal(cache.get(226), 542);
    cache.put(1192, 2994);
    assert.equal(cache.get(188), 817);
    assert.equal(cache.get(1234), 1466);
    cache.put(598, 330);
    cache.put(62, 3074);
    cache.put(1239, 2841);
    assert.equal(cache.get(447), 2487);
    assert.equal(cache.get(443), 1750);
    cache.put(28, 1972);
    assert.equal(cache.get(851), null);
    cache.put(593, 2578);
    assert.equal(cache.get(1232), 1755);
    cache.put(1069, 888);
    cache.put(69, 1423);
    cache.put(160, 1183);
    assert.equal(cache.get(934), 2728);
    cache.put(217, 2412);
    cache.put(1270, 57);
    cache.put(125, 214);
    cache.put(395, 2373);
    cache.put(438, 2571);
    cache.put(496, 1058);
    assert.equal(cache.get(336), 3248);
    cache.put(526, 514);
    cache.put(554, 2259);
    cache.put(1116, 2872);
    cache.put(1148, 2774);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(255), 2783);
    cache.put(213, 366);
    assert.equal(cache.get(132), 209);
    assert.equal(cache.get(1290), null);
    assert.equal(cache.get(328), 2029);
    cache.put(297, 3197);
    assert.equal(cache.get(5), null);
    cache.put(780, 1789);
    cache.put(198, 1067);
    cache.put(1187, 771);
    cache.put(68, 2261);
    cache.put(1236, 1417);
    cache.put(227, 2806);
    assert.equal(cache.get(1044), 311);
    assert.equal(cache.get(288), 163);
    assert.equal(cache.get(409), 2966);
    assert.equal(cache.get(1069), 888);
    cache.put(1243, 178);
    cache.put(978, 3254);
    cache.put(684, 96);
    cache.put(703, 1879);
    cache.put(238, 2880);
    cache.put(757, 529);
    cache.put(586, 3075);
    assert.equal(cache.get(1331), null);
    assert.equal(cache.get(1344), null);
    cache.put(345, 2835);
    cache.put(13, 184);
    cache.put(907, 1257);
    cache.put(1223, 1213);
    assert.equal(cache.get(782), 180);
    cache.put(859, 1669);
    cache.put(1362, 1497);
    cache.put(1394, 439);
    cache.put(123, 383);
    cache.put(148, 2305);
    cache.put(712, 1281);
    cache.put(1209, 904);
    assert.equal(cache.get(75), null);
    assert.equal(cache.get(305), 1492);
    assert.equal(cache.get(19), 2053);
    cache.put(1197, 99);
    cache.put(502, 2916);
    assert.equal(cache.get(806), 2163);
    cache.put(1170, 2002);
    cache.put(1417, 2335);
    cache.put(1389, 2568);
    cache.put(1183, 3062);
    cache.put(853, 1928);
    assert.equal(cache.get(1166), 856);
    assert.equal(cache.get(733), null);
    cache.put(461, 3148);
    assert.equal(cache.get(100), 3032);
    cache.put(1200, 916);
    assert.equal(cache.get(335), 440);
    assert.equal(cache.get(1158), 861);
    cache.put(685, 3227);
    cache.put(919, 260);
    assert.equal(cache.get(976), 561);
    assert.equal(cache.get(1188), 1145);
    assert.equal(cache.get(1389), null);
    cache.put(1385, 1702);
    cache.put(1225, 752);
    assert.equal(cache.get(1040), null);
    cache.put(423, 1319);
    cache.put(1299, 1578);
    cache.put(473, 500);
    cache.put(458, 950);
    assert.equal(cache.get(113), 2391);
    cache.put(915, 1974);
    assert.equal(cache.get(815), 952);
    cache.put(455, 3191);
    assert.equal(cache.get(685), 3227);
    assert.equal(cache.get(519), 185);
    cache.put(208, 257);
    cache.put(161, 2461);
    assert.equal(cache.get(568), null);
    assert.equal(cache.get(1272), 2693);
    assert.equal(cache.get(1181), 3170);
    cache.put(109, 791);
    cache.put(1381, 2615);
    assert.equal(cache.get(845), 387);
    cache.put(784, 2510);
    assert.equal(cache.get(245), 2966);
    cache.put(522, 2313);
    assert.equal(cache.get(640), 373);
    cache.put(480, 200);
    assert.equal(cache.get(806), 2163);
    assert.equal(cache.get(1009), 2722);
    cache.put(274, 1381);
    cache.put(65, 3034);
    cache.put(676, 3135);
    cache.put(900, 2050);
    assert.equal(cache.get(126), 2468);
    assert.equal(cache.get(380), 2461);
    assert.equal(cache.get(132), 209);
    cache.put(515, 871);
    assert.equal(cache.get(1217), 2345);
    cache.put(1301, 2588);
    assert.equal(cache.get(709), null);
    cache.put(430, 80);
    cache.put(699, 636);
    cache.put(28, 2592);
    cache.put(1247, 344);
    cache.put(755, 1645);
    assert.equal(cache.get(932), 687);
    assert.equal(cache.get(494), 2275);
    cache.put(1322, 838);
    cache.put(1072, 1721);
    assert.equal(cache.get(231), 213);
    cache.put(1099, 2233);
    cache.put(302, 681);
    assert.equal(cache.get(636), null);
    assert.equal(cache.get(854), 3268);
    assert.equal(cache.get(992), 603);
    assert.equal(cache.get(1019), 1923);
    cache.put(1128, 1910);
    cache.put(579, 2699);
    assert.equal(cache.get(1335), 2344);
    cache.put(938, 815);
    assert.equal(cache.get(1417), 2335);
    assert.equal(cache.get(598), 330);
    cache.put(958, 2348);
    cache.put(141, 2559);
    assert.equal(cache.get(451), 2173);
    assert.equal(cache.get(722), 2459);
    cache.put(455, 42);
    assert.equal(cache.get(451), 2173);
    cache.put(294, 1017);
    assert.equal(cache.get(1287), null);
    cache.put(395, 1032);
    cache.put(731, 436);
    cache.put(784, 1234);
    cache.put(1401, 2354);
    cache.put(218, 2871);
    assert.equal(cache.get(752), null);
    cache.put(944, 2009);
    assert.equal(cache.get(643), 2434);
    assert.equal(cache.get(1126), 1868);
    assert.equal(cache.get(1374), 1367);
    cache.put(16, 2653);
    cache.put(944, 959);
    cache.put(1034, 1621);
    assert.equal(cache.get(1416), null);
    cache.put(80, 2043);
    assert.equal(cache.get(123), null);
    cache.put(555, 1679);
    cache.put(887, 890);
    cache.put(981, 646);
    cache.put(814, 161);
    cache.put(957, 146);
    cache.put(397, 3216);
    cache.put(1380, 2872);
    assert.equal(cache.get(1318), 2900);
    assert.equal(cache.get(597), 2122);
    assert.equal(cache.get(723), 2304);
    cache.put(295, 2728);
    assert.equal(cache.get(279), 2673);
    cache.put(250, 1132);
    assert.equal(cache.get(1108), 1499);
    assert.equal(cache.get(609), 1887);
    assert.equal(cache.get(97), null);
    assert.equal(cache.get(481), 2370);
    cache.put(200, 467);
    assert.equal(cache.get(77), null);
    cache.put(1274, 2055);
    assert.equal(cache.get(1084), 390);
    cache.put(891, 1101);
    cache.put(39, 416);
    assert.equal(cache.get(937), 2956);
    assert.equal(cache.get(291), null);
    cache.put(1286, 1720);
    cache.put(18, 1117);
    cache.put(533, 2820);
    cache.put(548, 329);
    cache.put(1425, 743);
    cache.put(923, 842);
    assert.equal(cache.get(777), 850);
    assert.equal(cache.get(1209), 904);
    cache.put(938, 1544);
    cache.put(915, 3283);
    cache.put(359, 830);
    assert.equal(cache.get(530), 1705);
    cache.put(542, 55);
    cache.put(1195, 2936);
    cache.put(730, 1269);
    cache.put(189, 2948);
    assert.equal(cache.get(282), 1348);
    cache.put(925, 2473);
    cache.put(1207, 873);
    assert.equal(cache.get(702), 207);
    assert.equal(cache.get(310), 2940);
    cache.put(1293, 1365);
    assert.equal(cache.get(603), 891);
    cache.put(1423, 2453);
    cache.put(1090, 2639);
    assert.equal(cache.get(499), 959);
    assert.equal(cache.get(271), 2282);
    cache.put(1408, 723);
    assert.equal(cache.get(1061), 597);
    assert.equal(cache.get(1189), 1341);
    assert.equal(cache.get(1358), 1240);
    cache.put(95, 2106);
    cache.put(1299, 901);
    cache.put(1162, 2483);
    assert.equal(cache.get(786), null);
    assert.equal(cache.get(164), 1893);
    cache.put(1315, 1094);
    cache.put(1103, 302);
    assert.equal(cache.get(1315), 1094);
    assert.equal(cache.get(678), 3083);
    cache.put(944, 1230);
    assert.equal(cache.get(878), 3248);
    assert.equal(cache.get(695), 2974);
    assert.equal(cache.get(551), 36);
    assert.equal(cache.get(24), 3197);
    cache.put(446, 1320);
    assert.equal(cache.get(631), 905);
    assert.equal(cache.get(252), 739);
    assert.equal(cache.get(1007), 3006);
    cache.put(740, 1620);
    cache.put(733, 251);
    cache.put(716, 770);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(24), 3197);
    cache.put(485, 877);
    cache.put(700, 832);
    assert.equal(cache.get(316), 1662);
    cache.put(791, 1162);
    cache.put(1214, 1367);
    cache.put(511, 1552);
    assert.equal(cache.get(1001), null);
    cache.put(1398, 35);
    cache.put(1272, 1125);
    cache.put(878, 2442);
    cache.put(457, 1746);
    cache.put(1069, 1825);
    assert.equal(cache.get(217), 2412);
    assert.equal(cache.get(449), 523);
    assert.equal(cache.get(478), 606);
    assert.equal(cache.get(1002), 1363);
    assert.equal(cache.get(969), 378);
    cache.put(845, 698);
    assert.equal(cache.get(1184), null);
    assert.equal(cache.get(869), 1436);
    cache.put(1091, 2473);
    assert.equal(cache.get(1422), 1786);
    assert.equal(cache.get(120), null);
    cache.put(750, 2823);
    cache.put(270, 1333);
    assert.equal(cache.get(963), 1383);
    cache.put(1125, 298);
    cache.put(857, 667);
    cache.put(1204, 1807);
    cache.put(835, 2082);
    cache.put(1082, 315);
    cache.put(802, 1222);
    cache.put(1203, 693);
    assert.equal(cache.get(1180), 1012);
    assert.equal(cache.get(383), 1153);
    assert.equal(cache.get(460), 76);
    assert.equal(cache.get(212), 2058);
    cache.put(1126, 3300);
    assert.equal(cache.get(1122), 2114);
    assert.equal(cache.get(353), 56);
    assert.equal(cache.get(258), 3043);
    cache.put(1290, 2022);
    assert.equal(cache.get(1013), null);
    cache.put(260, 1500);
    assert.equal(cache.get(1013), null);
    assert.equal(cache.get(521), null);
    assert.equal(cache.get(1318), 2900);
    assert.equal(cache.get(744), 538);
    assert.equal(cache.get(25), 1818);
    cache.put(240, 601);
    cache.put(822, 928);
    assert.equal(cache.get(314), 3159);
    cache.put(1383, 1320);
    assert.equal(cache.get(154), 778);
    cache.put(367, 2281);
    assert.equal(cache.get(791), 1162);
    cache.put(257, 1873);
    cache.put(387, 722);
    assert.equal(cache.get(224), 2085);
    assert.equal(cache.get(667), null);
    cache.put(702, 1456);
    cache.put(1308, 2833);
    assert.equal(cache.get(466), null);
    assert.equal(cache.get(831), 577);
    cache.put(1281, 2333);
    cache.put(910, 2009);
    cache.put(791, 3245);
    cache.put(232, 1568);
    cache.put(468, 2156);
    assert.equal(cache.get(194), 1270);
    assert.equal(cache.get(385), null);
    cache.put(343, 1683);
    cache.put(66, 1329);
    cache.put(651, 1717);
    cache.put(1088, 2202);
    cache.put(441, 2816);
    cache.put(28, 1707);
    cache.put(571, 1138);
    assert.equal(cache.get(347), 868);
    cache.put(839, 2365);
    cache.put(510, 2512);
    cache.put(261, 1593);
    assert.equal(cache.get(842), null);
    assert.equal(cache.get(496), 1058);
    assert.equal(cache.get(1340), 2354);
    cache.put(894, 2138);
    cache.put(677, 1732);
    cache.put(1133, 2114);
    assert.equal(cache.get(924), 1895);
    assert.equal(cache.get(463), 1154);
    cache.put(990, 163);
    cache.put(347, 554);
    cache.put(591, 2361);
    assert.equal(cache.get(130), 927);
    assert.equal(cache.get(837), 1210);
    assert.equal(cache.get(1264), 2190);
    cache.put(621, 10);
    assert.equal(cache.get(2), 1280);
    assert.equal(cache.get(1116), 2872);
    cache.put(1121, 2955);
    cache.put(842, 1122);
    cache.put(1315, 2031);
    assert.equal(cache.get(147), 2259);
    assert.equal(cache.get(1230), null);
    assert.equal(cache.get(483), 2769);
    cache.put(444, 1275);
    cache.put(1426, 673);
    cache.put(515, 941);
    cache.put(900, 787);
    assert.equal(cache.get(1252), 276);
    cache.put(934, 1919);
    cache.put(905, 1181);
    cache.put(83, 50);
    cache.put(1327, 1901);
    assert.equal(cache.get(652), 1659);
    assert.equal(cache.get(292), 2392);
    assert.equal(cache.get(34), 1706);
    cache.put(556, 2888);
    cache.put(944, 2829);
    cache.put(1264, 2231);
    cache.put(1322, 2109);
    assert.equal(cache.get(237), 1421);
    assert.equal(cache.get(124), 550);
    assert.equal(cache.get(1099), 2233);
    assert.equal(cache.get(895), 1418);
    cache.put(529, 2251);
    cache.put(1308, 2686);
    cache.put(610, 1639);
    assert.equal(cache.get(1239), null);
    cache.put(1029, 1589);
    cache.put(988, 334);
    cache.put(204, 923);
    cache.put(645, 1955);
    cache.put(592, 2075);
    assert.equal(cache.get(783), 1441);
    assert.equal(cache.get(545), 545);
    cache.put(750, 987);
    assert.equal(cache.get(767), 1123);
    cache.put(555, 820);
    assert.equal(cache.get(823), null);
    assert.equal(cache.get(1245), null);
    assert.equal(cache.get(105), 2475);
    cache.put(668, 649);
    cache.put(438, 598);
    assert.equal(cache.get(1393), null);
    cache.put(634, 1670);
    assert.equal(cache.get(686), null);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(316), 1662);
    assert.equal(cache.get(397), 3216);
    cache.put(50, 2199);
    cache.put(120, 719);
    cache.put(1398, 74);
    cache.put(829, 2362);
    assert.equal(cache.get(688), 227);
    assert.equal(cache.get(332), 2361);
    cache.put(692, 1557);
    assert.equal(cache.get(1348), 1183);
    cache.put(506, 1084);
    assert.equal(cache.get(787), 1716);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(1118), null);
    cache.put(1384, 2262);
    assert.equal(cache.get(858), 3222);
    cache.put(1192, 3108);
    cache.put(50, 512);
    cache.put(80, 3135);
    cache.put(578, 3131);
    assert.equal(cache.get(1236), null);
    cache.put(1056, 2535);
    assert.equal(cache.get(489), 176);
    cache.put(1129, 1518);
    cache.put(1419, 1134);
    cache.put(1149, 1107);
    assert.equal(cache.get(245), 2966);
    cache.put(315, 18);
    cache.put(574, 119);
    cache.put(608, 1029);
    cache.put(228, 41);
    assert.equal(cache.get(598), 330);
    cache.put(249, 796);
    assert.equal(cache.get(413), 3144);
    cache.put(1006, 128);
    cache.put(678, 2035);
    assert.equal(cache.get(856), 1281);
    cache.put(600, 3067);
    assert.equal(cache.get(265), 1870);
    assert.equal(cache.get(624), 2497);
    cache.put(713, 2190);
    assert.equal(cache.get(1045), 27);
    cache.put(650, 1605);
    assert.equal(cache.get(1106), 1370);
    assert.equal(cache.get(1428), null);
    assert.equal(cache.get(243), 1906);
    assert.equal(cache.get(1103), 302);
    assert.equal(cache.get(956), 450);
    assert.equal(cache.get(508), null);
    cache.put(732, 2049);
    cache.put(1424, 1148);
    cache.put(657, 1974);
    assert.equal(cache.get(511), 1552);
    assert.equal(cache.get(47), 2944);
    cache.put(659, 1196);
    assert.equal(cache.get(865), 3099);
    assert.equal(cache.get(120), null);
    cache.put(929, 630);
    cache.put(410, 1038);
    assert.equal(cache.get(1160), 2209);
    assert.equal(cache.get(1048), 621);
    cache.put(688, 1682);
    assert.equal(cache.get(215), 426);
    assert.equal(cache.get(1326), null);
    cache.put(255, 342);
    cache.put(537, 1732);
    cache.put(828, 100);
    assert.equal(cache.get(27), 534);
    cache.put(637, 1961);
    assert.equal(cache.get(197), 296);
    assert.equal(cache.get(37), 1493);
    cache.put(837, 3273);
    cache.put(1340, 3058);
    assert.equal(cache.get(1211), 1621);
    assert.equal(cache.get(628), 2301);
    cache.put(357, 166);
    cache.put(1375, 2556);
    assert.equal(cache.get(125), 214);
    assert.equal(cache.get(501), 369);
    cache.put(69, 2402);
    cache.put(290, 2138);
    cache.put(679, 1225);
    cache.put(306, 893);
    assert.equal(cache.get(780), 1789);
    cache.put(1413, 2640);
    cache.put(623, 1655);
    cache.put(852, 821);
    cache.put(726, 3197);
    assert.equal(cache.get(1090), 2639);
    cache.put(254, 2821);
    assert.equal(cache.get(55), 55);
    cache.put(1125, 1802);
    cache.put(346, 2656);
    cache.put(272, 1498);
    cache.put(931, 3073);
    assert.equal(cache.get(453), 2115);
    assert.equal(cache.get(1141), 1954);
    cache.put(1046, 1128);
    assert.equal(cache.get(739), 3303);
    cache.put(187, 2068);
    cache.put(952, 2706);
    assert.equal(cache.get(901), 1985);
    cache.put(753, 2966);
    assert.equal(cache.get(799), null);
    assert.equal(cache.get(55), 55);
    cache.put(1363, 1487);
    cache.put(651, 1621);
    cache.put(694, 1066);
    cache.put(981, 2294);
    assert.equal(cache.get(24), 3197);
    assert.equal(cache.get(182), 2544);
    assert.equal(cache.get(600), 3067);
    cache.put(324, 1622);
    cache.put(753, 1039);
    cache.put(885, 2618);
    cache.put(200, 249);
    cache.put(280, 1470);
    cache.put(1218, 3037);
    cache.put(505, 2612);
    assert.equal(cache.get(839), 2365);
    cache.put(786, 1397);
    cache.put(851, 91);
    cache.put(377, 2867);
    cache.put(904, 2183);
    assert.equal(cache.get(781), 695);
    cache.put(153, 2360);
    cache.put(837, 2938);
    assert.equal(cache.get(1110), 1134);
    cache.put(872, 1106);
    assert.equal(cache.get(1425), 743);
    cache.put(912, 3133);
    assert.equal(cache.get(107), 674);
    cache.put(435, 1222);
    cache.put(293, 104);
    assert.equal(cache.get(987), 1206);
    cache.put(442, 1190);
    cache.put(430, 1677);
    cache.put(416, 140);
    assert.equal(cache.get(461), 3148);
    assert.equal(cache.get(495), 875);
    cache.put(1214, 2826);
    cache.put(727, 2122);
    assert.equal(cache.get(955), null);
    cache.put(1012, 636);
    cache.put(338, 161);
    cache.put(989, 1904);
    assert.equal(cache.get(46), 2357);
    assert.equal(cache.get(1204), 1807);
    assert.equal(cache.get(133), 2510);
    assert.equal(cache.get(1029), 1589);
    assert.equal(cache.get(224), 2085);
    cache.put(491, 567);
    cache.put(287, 2393);
    cache.put(263, 2189);
    cache.put(376, 2003);
    assert.equal(cache.get(621), null);
    assert.equal(cache.get(136), null);
    cache.put(462, 1622);
    cache.put(561, 2246);
    cache.put(1337, 589);
    assert.equal(cache.get(619), 2265);
    assert.equal(cache.get(1405), 527);
    assert.equal(cache.get(274), 1381);
    cache.put(705, 1330);
    assert.equal(cache.get(600), 3067);
    assert.equal(cache.get(1016), 2284);
    cache.put(1207, 1572);
    cache.put(1237, 358);
    assert.equal(cache.get(71), 1800);
    cache.put(863, 1156);
    cache.put(58, 638);
    cache.put(530, 292);
    cache.put(5, 3155);
    cache.put(199, 2844);
    assert.equal(cache.get(119), null);
    assert.equal(cache.get(130), 927);
    assert.equal(cache.get(1364), 1829);
    assert.equal(cache.get(429), 746);
    cache.put(698, 797);
    assert.equal(cache.get(142), 2978);
    cache.put(948, 2163);
    assert.equal(cache.get(1381), 2615);
    cache.put(686, 2619);
    assert.equal(cache.get(470), 2097);
    cache.put(696, 2054);
    assert.equal(cache.get(1396), 3200);
    cache.put(498, 3092);
    cache.put(1012, 1910);
    cache.put(164, 2796);
    assert.equal(cache.get(674), 332);
    cache.put(328, 2037);
    assert.equal(cache.get(1286), 1720);
    cache.put(697, 938);
    assert.equal(cache.get(1289), null);
    cache.put(125, 3138);
    cache.put(1420, 2427);
    cache.put(890, 68);
    cache.put(136, 5);
    cache.put(587, 2079);
    cache.put(87, 318);
    assert.equal(cache.get(1257), 680);
    cache.put(1322, 1604);
    cache.put(141, 2598);
    assert.equal(cache.get(1420), 2427);
    assert.equal(cache.get(787), 1716);
    cache.put(1179, 380);
    cache.put(754, 1958);
    cache.put(191, 458);
    cache.put(679, 2195);
    assert.equal(cache.get(813), 235);
    cache.put(1249, 1702);
    assert.equal(cache.get(1291), 289);
    assert.equal(cache.get(855), 3141);
    cache.put(1111, 2336);
    assert.equal(cache.get(1137), 1279);
    assert.equal(cache.get(1401), 2354);
    assert.equal(cache.get(1130), 618);
    cache.put(834, 1816);
    cache.put(882, 658);
    assert.equal(cache.get(1371), 2125);
    cache.put(243, 2627);
    cache.put(1348, 1096);
    cache.put(1362, 3074);
    assert.equal(cache.get(202), 33);
    cache.put(980, 3199);
    cache.put(216, 135);
    cache.put(146, 2671);
    cache.put(190, 1849);
    cache.put(1413, 2250);
    cache.put(1097, 1473);
    assert.equal(cache.get(481), 2370);
    cache.put(493, 2956);
    cache.put(918, 2920);
    cache.put(292, 3287);
    assert.equal(cache.get(996), null);
    cache.put(29, 2749);
    cache.put(1091, 1313);
    cache.put(917, 576);
    cache.put(756, 2000);
    assert.equal(cache.get(9), 189);
    cache.put(83, 1276);
    cache.put(991, 1150);
    assert.equal(cache.get(858), 3222);
    cache.put(1393, 2683);
    assert.equal(cache.get(710), 413);
    assert.equal(cache.get(674), 332);
    cache.put(481, 525);
    cache.put(1356, 466);
    assert.equal(cache.get(79), 2012);
    cache.put(489, 2742);
    cache.put(1405, 433);
    cache.put(1223, 2120);
    assert.equal(cache.get(1114), null);
    cache.put(254, 2505);
    assert.equal(cache.get(1071), 178);
    assert.equal(cache.get(215), 426);
    assert.equal(cache.get(615), 1481);
    cache.put(152, 2472);
    cache.put(915, 1520);
    assert.equal(cache.get(1005), 491);
    assert.equal(cache.get(1166), 856);
    cache.put(918, 1367);
    assert.equal(cache.get(1126), 3300);
    assert.equal(cache.get(1073), 2078);
    cache.put(1208, 1276);
    cache.put(245, 2238);
    cache.put(86, 395);
    cache.put(930, 193);
    assert.equal(cache.get(489), 2742);
    cache.put(564, 2837);
    cache.put(181, 385);
    cache.put(67, 2673);
    assert.equal(cache.get(450), 3147);
    assert.equal(cache.get(257), 1873);
    cache.put(880, 3132);
    assert.equal(cache.get(685), 3227);
    assert.equal(cache.get(519), 185);
    cache.put(1082, 2986);
    assert.equal(cache.get(1004), 1498);
    cache.put(339, 1993);
    cache.put(1258, 2245);
    cache.put(585, 3253);
    assert.equal(cache.get(1399), 952);
    cache.put(1181, 2041);
    assert.equal(cache.get(646), null);
    assert.equal(cache.get(101), 2076);
    cache.put(22, 1277);
    assert.equal(cache.get(1107), 2616);
    assert.equal(cache.get(398), 1680);
    assert.equal(cache.get(728), null);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(750), 987);
    assert.equal(cache.get(1034), 1621);
    assert.equal(cache.get(886), null);
    cache.put(282, 115);
    cache.put(423, 138);
    cache.put(980, 1278);
    cache.put(1250, 3147);
    assert.equal(cache.get(573), 3183);
    assert.equal(cache.get(239), 2198);
    cache.put(1159, 1619);
    cache.put(632, 1847);
    assert.equal(cache.get(605), 3221);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(76), 2189);
    cache.put(1177, 2079);
    assert.equal(cache.get(1039), 898);
    cache.put(966, 1667);
    cache.put(49, 1534);
    assert.equal(cache.get(793), 1817);
    assert.equal(cache.get(1087), 1468);
    cache.put(107, 3120);
    assert.equal(cache.get(1360), 2792);
    cache.put(965, 1134);
    assert.equal(cache.get(1404), 307);
    cache.put(1430, 2558);
    cache.put(1029, 902);
    cache.put(588, 3282);
    cache.put(1359, 255);
    cache.put(1038, 3250);
    assert.equal(cache.get(74), null);
    cache.put(9, 2537);
    assert.equal(cache.get(97), null);
    assert.equal(cache.get(886), null);
    cache.put(304, 2011);
    assert.equal(cache.get(532), 2548);
    cache.put(1064, 1393);
    cache.put(1194, 2608);
    assert.equal(cache.get(326), 1410);
    assert.equal(cache.get(1077), 335);
    cache.put(41, 1109);
    assert.equal(cache.get(131), 3175);
    assert.equal(cache.get(1245), null);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(718), null);
    assert.equal(cache.get(290), 2138);
    cache.put(568, 3297);
    cache.put(869, 189);
    assert.equal(cache.get(439), 2878);
    cache.put(424, 1698);
    cache.put(187, 874);
    cache.put(402, 3);
    cache.put(1112, 820);
    assert.equal(cache.get(456), 1715);
    assert.equal(cache.get(481), 525);
    assert.equal(cache.get(199), 2844);
    assert.equal(cache.get(641), 1851);
    assert.equal(cache.get(999), 1235);
    cache.put(529, 1373);
    cache.put(796, 2677);
    assert.equal(cache.get(837), 2938);
    assert.equal(cache.get(868), 2803);
    cache.put(80, 2176);
    assert.equal(cache.get(924), 1895);
    cache.put(660, 2278);
    cache.put(292, 441);
    assert.equal(cache.get(1376), null);
    cache.put(753, 2966);
    cache.put(340, 2262);
    assert.equal(cache.get(871), null);
    cache.put(568, 186);
    cache.put(267, 2976);
    assert.equal(cache.get(259), 2414);
    cache.put(677, 3223);
    cache.put(211, 2635);
    assert.equal(cache.get(1116), 2872);
    assert.equal(cache.get(109), 791);
    cache.put(533, 2375);
    cache.put(270, 1617);
    cache.put(648, 1632);
    cache.put(529, 2522);
    assert.equal(cache.get(1277), 2927);
    cache.put(728, 189);
    cache.put(45, 1094);
    assert.equal(cache.get(708), null);
    assert.equal(cache.get(431), 341);
    assert.equal(cache.get(1252), 276);
    cache.put(1108, 2692);
    cache.put(1087, 9);
    assert.equal(cache.get(831), 577);
    assert.equal(cache.get(203), 554);
    cache.put(1422, 90);
    cache.put(606, 2589);
    assert.equal(cache.get(105), 2475);
    cache.put(987, 3257);
    cache.put(357, 2184);
    cache.put(18, 2470);
    cache.put(1334, 2277);
    assert.equal(cache.get(1221), 1384);
    cache.put(79, 1656);
    assert.equal(cache.get(949), null);
    assert.equal(cache.get(318), 1781);
    cache.put(350, 3172);
    assert.equal(cache.get(438), null);
    assert.equal(cache.get(307), 2891);
    cache.put(942, 128);
    cache.put(18, 538);
    cache.put(458, 2546);
    assert.equal(cache.get(725), null);
    assert.equal(cache.get(497), 472);
    cache.put(257, 344);
    cache.put(1352, 1375);
    cache.put(273, 1505);
    assert.equal(cache.get(765), null);
    assert.equal(cache.get(176), null);
    cache.put(661, 567);
    cache.put(1039, 1557);
    cache.put(1240, 658);
    cache.put(527, 2533);
    assert.equal(cache.get(248), 1469);
    assert.equal(cache.get(324), 1622);
    assert.equal(cache.get(928), 204);
    cache.put(280, 3180);
    cache.put(1299, 1735);
    cache.put(145, 112);
    assert.equal(cache.get(1414), 802);
    cache.put(1160, 3258);
    cache.put(639, 2974);
    assert.equal(cache.get(5), null);
    cache.put(164, 1569);
    cache.put(399, 3196);
    cache.put(1099, 2886);
    cache.put(524, 3234);
    assert.equal(cache.get(1378), 1269);
    cache.put(307, 2002);
    assert.equal(cache.get(484), 457);
    cache.put(193, 545);
    cache.put(1212, 944);
    cache.put(607, 1265);
    assert.equal(cache.get(643), 2434);
    assert.equal(cache.get(513), null);
    assert.equal(cache.get(1151), 2538);
    assert.equal(cache.get(1119), 935);
    cache.put(243, 873);
    cache.put(627, 2972);
    cache.put(824, 1784);
    cache.put(884, 3181);
    cache.put(1048, 2991);
    assert.equal(cache.get(67), 2673);
    cache.put(1021, 861);
    cache.put(557, 266);
    assert.equal(cache.get(775), 3137);
    cache.put(76, 3052);
    assert.equal(cache.get(715), 3);
    cache.put(290, 2579);
    cache.put(482, 1789);
    assert.equal(cache.get(469), 1643);
    cache.put(1088, 1408);
    cache.put(499, 2869);
    assert.equal(cache.get(1193), 2999);
    cache.put(908, 1643);
    cache.put(785, 246);
    assert.equal(cache.get(307), 2002);
    assert.equal(cache.get(785), 246);
    cache.put(1265, 2493);
    assert.equal(cache.get(341), 1792);
    assert.equal(cache.get(554), 2259);
    cache.put(2, 2150);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(1147), 2875);
    assert.equal(cache.get(965), 1134);
    cache.put(979, 2870);
    cache.put(1080, 2853);
    cache.put(344, 2001);
    cache.put(1002, 1918);
    cache.put(292, 2321);
    assert.equal(cache.get(1401), 2354);
    assert.equal(cache.get(348), 1225);
    cache.put(1408, 372);
    assert.equal(cache.get(232), 1568);
    cache.put(773, 2274);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(720), 1434);
    assert.equal(cache.get(606), null);
    cache.put(1395, 1425);
    assert.equal(cache.get(1088), 1408);
    cache.put(571, 2601);
    cache.put(1220, 2612);
    assert.equal(cache.get(1400), 994);
    cache.put(136, 2688);
    cache.put(892, 375);
    cache.put(678, 2216);
    cache.put(632, 260);
    assert.equal(cache.get(427), null);
    cache.put(696, 2552);
    assert.equal(cache.get(1026), null);
    assert.equal(cache.get(721), null);
    cache.put(1163, 291);
    cache.put(1094, 1795);
    cache.put(190, 1041);
    cache.put(1164, 10);
    cache.put(202, 292);
    cache.put(707, 1192);
    cache.put(1307, 3122);
    cache.put(1338, 1805);
    assert.equal(cache.get(1365), null);
    cache.put(447, 1840);
    cache.put(531, 3201);
    cache.put(704, 477);
    assert.equal(cache.get(606), null);
    cache.put(749, 2745);
    assert.equal(cache.get(812), 1640);
    cache.put(1298, 2806);
    cache.put(272, 3265);
    cache.put(102, 947);
    assert.equal(cache.get(825), 2167);
    assert.equal(cache.get(796), 2677);
    assert.equal(cache.get(229), 2822);
    cache.put(224, 1110);
    cache.put(134, 3265);
    cache.put(1370, 913);
    cache.put(1338, 2397);
    cache.put(40, 1117);
    assert.equal(cache.get(1397), null);
    cache.put(890, 565);
    assert.equal(cache.get(1194), 2608);
    assert.equal(cache.get(90), 605);
    assert.equal(cache.get(68), 2261);
    cache.put(1152, 2946);
    assert.equal(cache.get(276), null);
    cache.put(1152, 1195);
    assert.equal(cache.get(436), null);
    cache.put(177, 898);
    assert.equal(cache.get(1075), null);
    cache.put(1065, 2123);
    cache.put(1351, 1515);
    assert.equal(cache.get(1121), null);
    assert.equal(cache.get(381), null);
    cache.put(377, 27);
    assert.equal(cache.get(1141), 1954);
    assert.equal(cache.get(994), 3263);
    cache.put(1302, 3010);
    cache.put(1401, 1133);
    cache.put(338, 66);
    cache.put(824, 722);
    assert.equal(cache.get(311), 824);
    cache.put(27, 2400);
    cache.put(663, 2751);
    cache.put(1195, 2940);
    assert.equal(cache.get(747), 2726);
    assert.equal(cache.get(1320), 236);
    assert.equal(cache.get(955), null);
    cache.put(32, 2226);
    cache.put(970, 2586);
    cache.put(145, 2527);
    assert.equal(cache.get(307), 2002);
    cache.put(1424, 2119);
    cache.put(965, 2709);
    cache.put(699, 2630);
    cache.put(158, 2369);
    cache.put(79, 272);
    cache.put(626, 1859);
    assert.equal(cache.get(54), 2713);
    assert.equal(cache.get(572), 1632);
    assert.equal(cache.get(42), null);
    assert.equal(cache.get(463), 1154);
    cache.put(575, 1181);
    cache.put(276, 3120);
    cache.put(695, 769);
    assert.equal(cache.get(395), null);
    cache.put(197, 1144);
    assert.equal(cache.get(899), 3227);
    assert.equal(cache.get(1273), null);
    cache.put(447, 1840);
    cache.put(385, 2031);
    cache.put(661, 3291);
    assert.equal(cache.get(709), null);
    cache.put(1166, 524);
    cache.put(941, 2093);
    cache.put(727, 2957);
    cache.put(1165, 2501);
    cache.put(1223, 2321);
    cache.put(1121, 3065);
    assert.equal(cache.get(1167), null);
    cache.put(927, 2284);
    cache.put(793, 602);
    cache.put(916, 43);
    cache.put(761, 2419);
    assert.equal(cache.get(524), 3234);
    cache.put(1094, 2623);
    assert.equal(cache.get(1014), 1079);
    cache.put(1376, 2603);
    assert.equal(cache.get(1175), 2476);
    cache.put(885, 354);
    cache.put(779, 2287);
    assert.equal(cache.get(1357), null);
    assert.equal(cache.get(1244), 202);
    assert.equal(cache.get(747), 2726);
    assert.equal(cache.get(1300), 1005);
    cache.put(503, 2061);
    cache.put(320, 1508);
    cache.put(685, 3297);
    assert.equal(cache.get(792), 882);
    cache.put(1343, 1250);
    cache.put(1176, 469);
    cache.put(889, 2016);
    cache.put(1398, 2758);
    cache.put(602, 1240);
    assert.equal(cache.get(1244), 202);
    cache.put(488, 1351);
    cache.put(1373, 3159);
    assert.equal(cache.get(599), null);
    cache.put(38, 891);
    assert.equal(cache.get(293), null);
    cache.put(311, 2701);
    assert.equal(cache.get(650), 1605);
    assert.equal(cache.get(374), 1215);
    cache.put(519, 625);
    assert.equal(cache.get(920), 1210);
    cache.put(1267, 2056);
    cache.put(224, 1413);
    assert.equal(cache.get(688), 1682);
    cache.put(324, 978);
    assert.equal(cache.get(868), 2803);
    cache.put(1282, 1908);
    cache.put(537, 535);
    assert.equal(cache.get(78), null);
    cache.put(1204, 2371);
    cache.put(885, 2710);
    cache.put(782, 538);
    cache.put(1161, 1281);
    assert.equal(cache.get(1195), 2940);
    cache.put(128, 578);
    assert.equal(cache.get(1192), 3108);
    cache.put(814, 68);
    cache.put(402, 2470);
    cache.put(1186, 1756);
    assert.equal(cache.get(441), 2816);
    cache.put(461, 477);
    cache.put(838, 127);
    assert.equal(cache.get(567), null);
    cache.put(1060, 3254);
    cache.put(1390, 2728);
    cache.put(950, 1479);
    cache.put(687, 718);
    assert.equal(cache.get(150), 854);
    cache.put(19, 2810);
    cache.put(372, 2530);
    assert.equal(cache.get(465), 755);
    assert.equal(cache.get(335), 440);
    cache.put(1344, 20);
    cache.put(503, 2046);
    cache.put(3, 1847);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(1351), null);
    cache.put(145, 545);
    assert.equal(cache.get(126), 2468);
    cache.put(835, 2005);
    cache.put(1309, 2242);
    assert.equal(cache.get(925), null);
    assert.equal(cache.get(724), null);
    cache.put(513, 59);
    assert.equal(cache.get(123), null);
    cache.put(131, 1884);
    cache.put(733, 1878);
    cache.put(507, 1957);
    cache.put(146, 2027);
    assert.equal(cache.get(717), 571);
    assert.equal(cache.get(84), 547);
    assert.equal(cache.get(222), null);
    cache.put(1081, 1337);
    cache.put(633, 314);
    assert.equal(cache.get(945), 2170);
    assert.equal(cache.get(836), 2315);
    assert.equal(cache.get(863), 1156);
    cache.put(1180, 1385);
    assert.equal(cache.get(1312), 1316);
    assert.equal(cache.get(52), 1080);
    cache.put(709, 805);
    assert.equal(cache.get(895), 1418);
    assert.equal(cache.get(269), 3297);
    assert.equal(cache.get(273), 1505);
    cache.put(835, 838);
    assert.equal(cache.get(1054), 3260);
    assert.equal(cache.get(993), 1586);
    cache.put(31, 1260);
    cache.put(1002, 1453);
    assert.equal(cache.get(280), 3180);
    assert.equal(cache.get(101), 2076);
    cache.put(267, 415);
    cache.put(808, 690);
    cache.put(640, 1243);
    cache.put(733, 2622);
    cache.put(626, 3030);
    assert.equal(cache.get(1174), 2836);
    cache.put(419, 1788);
    assert.equal(cache.get(97), null);
    cache.put(712, 287);
    assert.equal(cache.get(332), 2361);
    assert.equal(cache.get(51), null);
    cache.put(905, 1359);
    assert.equal(cache.get(1057), 955);
    cache.put(1271, 402);
    cache.put(1019, 2250);
    assert.equal(cache.get(1237), 358);
    cache.put(1347, 3169);
    cache.put(1155, 1582);
    cache.put(1402, 1788);
    cache.put(850, 2326);
    assert.equal(cache.get(1240), 658);
    assert.equal(cache.get(752), null);
    assert.equal(cache.get(244), 2125);
    cache.put(1228, 881);
    assert.equal(cache.get(695), 769);
    cache.put(531, 2399);
    cache.put(821, 2639);
    cache.put(591, 199);
    cache.put(109, 1426);
    assert.equal(cache.get(456), 1715);
    cache.put(977, 1892);
    cache.put(154, 2916);
    cache.put(594, 698);
    cache.put(473, 58);
    cache.put(388, 835);
    cache.put(1103, 3085);
    assert.equal(cache.get(1310), 1335);
    cache.put(953, 1178);
    assert.equal(cache.get(376), null);
    assert.equal(cache.get(179), null);
    assert.equal(cache.get(1156), 1194);
    cache.put(644, 59);
    cache.put(106, 2368);
    cache.put(477, 38);
    cache.put(766, 2698);
    cache.put(1381, 204);
    cache.put(422, 356);
    cache.put(991, 34);
    cache.put(479, 2263);
    cache.put(823, 698);
    assert.equal(cache.get(454), 2531);
    assert.equal(cache.get(114), 14);
    cache.put(464, 2132);
    cache.put(1248, 2831);
    cache.put(1405, 2942);
    cache.put(1062, 282);
    assert.equal(cache.get(511), 1552);
    cache.put(662, 1624);
    cache.put(1317, 1083);
    assert.equal(cache.get(525), 2294);
    assert.equal(cache.get(33), 2500);
    cache.put(706, 1745);
    cache.put(1380, 1827);
    cache.put(787, 3287);
    cache.put(360, 1313);
    cache.put(1152, 666);
    cache.put(568, 602);
    cache.put(387, 2018);
    cache.put(783, 2675);
    assert.equal(cache.get(633), 314);
    cache.put(388, 1353);
    cache.put(675, 3040);
    cache.put(762, 1229);
    assert.equal(cache.get(558), null);
    cache.put(852, 339);
    cache.put(237, 499);
    cache.put(302, 893);
    cache.put(42, 672);
    cache.put(468, 1065);
    assert.equal(cache.get(340), 2262);
    cache.put(27, 1081);
    cache.put(455, 522);
    assert.equal(cache.get(706), null);
    cache.put(866, 1511);
    assert.equal(cache.get(1330), 2426);
    cache.put(976, 1245);
    cache.put(316, 2990);
    assert.equal(cache.get(1031), 2226);
    assert.equal(cache.get(1199), 2068);
    assert.equal(cache.get(1038), 3250);
    assert.equal(cache.get(903), null);
    cache.put(987, 734);
    cache.put(1372, 1944);
    assert.equal(cache.get(37), 1493);
    cache.put(983, 843);
    cache.put(944, 2500);
    assert.equal(cache.get(117), 236);
    assert.equal(cache.get(790), null);
    cache.put(1105, 91);
    cache.put(902, 3223);
    assert.equal(cache.get(983), 843);
    cache.put(1268, 2059);
    cache.put(442, 325);
    cache.put(1365, 2725);
    cache.put(711, 1856);
    assert.equal(cache.get(612), 2127);
    cache.put(259, 2927);
    assert.equal(cache.get(1166), 524);
    cache.put(226, 893);
    cache.put(1427, 814);
    assert.equal(cache.get(10), 2898);
    cache.put(336, 1853);
    cache.put(71, 31);
    assert.equal(cache.get(893), 2256);
    assert.equal(cache.get(1269), 2335);
    cache.put(389, 2568);
    assert.equal(cache.get(487), 1847);
    cache.put(1422, 3027);
    cache.put(460, 1030);
    cache.put(190, 50);
    assert.equal(cache.get(1093), 2626);
    cache.put(31, 3278);
    cache.put(957, 1795);
    cache.put(1309, 900);
    assert.equal(cache.get(1386), 331);
    assert.equal(cache.get(199), 2844);
    cache.put(204, 232);
    cache.put(1365, 1206);
    assert.equal(cache.get(621), null);
    assert.equal(cache.get(598), 330);
    assert.equal(cache.get(1215), 3297);
    cache.put(113, 945);
    assert.equal(cache.get(678), 2216);
    assert.equal(cache.get(117), 236);
    assert.equal(cache.get(775), 3137);
    cache.put(1005, 1129);
    assert.equal(cache.get(9), 2537);
    cache.put(971, 59);
    assert.equal(cache.get(193), 545);
    cache.put(862, 1572);
    cache.put(203, 488);
    cache.put(586, 3038);
    cache.put(1229, 33);
    cache.put(871, 2777);
    cache.put(973, 2925);
    assert.equal(cache.get(1214), 2826);
    cache.put(1156, 1492);
    assert.equal(cache.get(1149), 1107);
    assert.equal(cache.get(1122), 2114);
    cache.put(516, 1451);
    assert.equal(cache.get(1222), 2687);
    cache.put(834, 1584);
    assert.equal(cache.get(283), 3166);
    cache.put(718, 1517);
    assert.equal(cache.get(548), 329);
    assert.equal(cache.get(1167), null);
    cache.put(334, 1933);
    cache.put(1410, 1502);
    cache.put(833, 701);
    assert.equal(cache.get(567), null);
    cache.put(453, 2998);
    assert.equal(cache.get(767), 1123);
    assert.equal(cache.get(1335), 2344);
    cache.put(560, 10);
    assert.equal(cache.get(1427), 814);
    cache.put(1227, 2966);
    assert.equal(cache.get(1339), 2005);
    assert.equal(cache.get(572), 1632);
    assert.equal(cache.get(101), 2076);
    assert.equal(cache.get(777), 850);
    cache.put(532, 2214);
    assert.equal(cache.get(1126), 3300);
    assert.equal(cache.get(1122), 2114);
    assert.equal(cache.get(1142), null);
    cache.put(685, 2033);
    assert.equal(cache.get(1411), null);
    cache.put(677, 91);
    assert.equal(cache.get(1058), 1399);
    cache.put(213, 2402);
    assert.equal(cache.get(22), 1277);
    cache.put(44, 3062);
    cache.put(1169, 418);
    assert.equal(cache.get(1227), null);
    assert.equal(cache.get(420), 1037);
    assert.equal(cache.get(1163), 291);
    assert.equal(cache.get(234), 2088);
    assert.equal(cache.get(249), 796);
    assert.equal(cache.get(52), 1080);
    assert.equal(cache.get(688), 1682);
    assert.equal(cache.get(771), 2205);
    assert.equal(cache.get(479), null);
    cache.put(288, 231);
    cache.put(20, 196);
    cache.put(867, 1690);
    assert.equal(cache.get(677), 91);
    cache.put(239, 2188);
    cache.put(1215, 769);
    cache.put(1142, 1070);
    assert.equal(cache.get(799), null);
    cache.put(1188, 2127);
    assert.equal(cache.get(1253), 2662);
    assert.equal(cache.get(388), 1353);
    cache.put(207, 1014);
    assert.equal(cache.get(817), 3029);
    cache.put(1031, 1951);
    cache.put(1053, 2011);
    cache.put(892, 2784);
    assert.equal(cache.get(1322), 1604);
    cache.put(1029, 2569);
    assert.equal(cache.get(755), 1645);
    cache.put(460, 2098);
    cache.put(1063, 1127);
    cache.put(719, 3169);
    cache.put(1095, 3152);
    assert.equal(cache.get(827), 1828);
    assert.equal(cache.get(125), 3138);
    assert.equal(cache.get(935), 1929);
    cache.put(926, 1848);
    assert.equal(cache.get(761), 2419);
    cache.put(207, 1773);
    cache.put(1370, 463);
    cache.put(1328, 280);
    cache.put(1122, 614);
    cache.put(1192, 1254);
    cache.put(298, 1141);
    cache.put(439, 2280);
    cache.put(1060, 1454);
    cache.put(741, 204);
    cache.put(363, 456);
    cache.put(39, 384);
    assert.equal(cache.get(603), 891);
    cache.put(97, 520);
    cache.put(384, 529);
    cache.put(1040, 2377);
    assert.equal(cache.get(906), 2926);
    assert.equal(cache.get(1069), 1825);
    cache.put(1263, 1786);
    assert.equal(cache.get(1426), 673);
    assert.equal(cache.get(419), 1788);
    cache.put(1286, 3276);
    assert.equal(cache.get(88), 1743);
    assert.equal(cache.get(185), 1439);
    cache.put(917, 431);
    cache.put(1154, 345);
    assert.equal(cache.get(306), 893);
    assert.equal(cache.get(1209), 904);
    cache.put(787, 2070);
    assert.equal(cache.get(473), 58);
    cache.put(1126, 974);
    cache.put(721, 144);
    cache.put(1280, 1802);
    cache.put(1044, 2351);
    cache.put(498, 303);
    cache.put(49, 820);
    cache.put(247, 2467);
    cache.put(232, 47);
    cache.put(443, 1765);
    cache.put(937, 2280);
    cache.put(204, 1269);
    assert.equal(cache.get(1385), 1702);
    assert.equal(cache.get(293), null);
    cache.put(2, 1593);
    assert.equal(cache.get(506), 1084);
    cache.put(99, 2872);
    assert.equal(cache.get(634), null);
    cache.put(521, 3221);
    cache.put(414, 256);
    cache.put(1090, 2551);
    cache.put(117, 3022);
    assert.equal(cache.get(592), 2075);
    assert.equal(cache.get(1299), 1735);
    cache.put(550, 2461);
    cache.put(683, 2297);
    cache.put(1021, 432);
    cache.put(1059, 2029);
    cache.put(128, 3288);
    assert.equal(cache.get(509), 578);
    assert.equal(cache.get(694), null);
    assert.equal(cache.get(270), 1617);
    cache.put(339, 2401);
    cache.put(324, 379);
    cache.put(1114, 1387);
    cache.put(849, 2764);
    cache.put(359, 2479);
    assert.equal(cache.get(778), null);
    assert.equal(cache.get(575), 1181);
    assert.equal(cache.get(1084), 390);
    assert.equal(cache.get(821), 2639);
    cache.put(241, 1694);
    assert.equal(cache.get(1090), 2551);
    cache.put(1220, 227);
    cache.put(133, 2666);
    assert.equal(cache.get(780), 1789);
    assert.equal(cache.get(1207), 1572);
    assert.equal(cache.get(182), 2544);
    assert.equal(cache.get(561), 2246);
    cache.put(346, 2974);
    cache.put(378, 1292);
    assert.equal(cache.get(460), 2098);
    cache.put(1187, 1399);
    cache.put(927, 3131);
    cache.put(1297, 369);
    assert.equal(cache.get(520), null);
    assert.equal(cache.get(923), 842);
    cache.put(836, 849);
    cache.put(207, 824);
    cache.put(256, 1605);
    assert.equal(cache.get(1065), 2123);
    assert.equal(cache.get(474), 7);
    cache.put(944, 1036);
    assert.equal(cache.get(475), null);
    cache.put(630, 1300);
    assert.equal(cache.get(559), 1006);
    cache.put(1348, 1186);
    cache.put(1191, 2359);
    assert.equal(cache.get(452), 2445);
    assert.equal(cache.get(937), 2280);
    assert.equal(cache.get(350), 3172);
    cache.put(1125, 3124);
    assert.equal(cache.get(361), null);
    cache.put(539, 1760);
    cache.put(900, 2427);
    assert.equal(cache.get(925), null);
    cache.put(863, 20);
    assert.equal(cache.get(1004), 1498);
    assert.equal(cache.get(87), 318);
    cache.put(382, 2582);
    assert.equal(cache.get(708), null);
    assert.equal(cache.get(963), 1383);
    cache.put(1207, 1558);
    cache.put(1352, 1513);
    cache.put(425, 2451);
    cache.put(735, 2814);
    cache.put(547, 2695);
    cache.put(1257, 2142);
    cache.put(702, 637);
    cache.put(83, 734);
    assert.equal(cache.get(148), 2305);
    cache.put(974, 159);
    assert.equal(cache.get(572), 1632);
    cache.put(1408, 2460);
    cache.put(1213, 896);
    cache.put(508, 2943);
    assert.equal(cache.get(1223), 2321);
    assert.equal(cache.get(1285), 3082);
    cache.put(642, 907);
    cache.put(994, 1752);
    cache.put(691, 3043);
    cache.put(955, 2529);
    cache.put(319, 1601);
    cache.put(1263, 789);
    assert.equal(cache.get(331), 745);
    cache.put(83, 903);
    assert.equal(cache.get(268), null);
    assert.equal(cache.get(114), 14);
    cache.put(307, 717);
    cache.put(522, 1269);
    cache.put(623, 1100);
    cache.put(387, 499);
    assert.equal(cache.get(624), 2497);
    assert.equal(cache.get(800), 657);
    assert.equal(cache.get(341), 1792);
    assert.equal(cache.get(481), 525);
    cache.put(331, 1161);
    cache.put(406, 3014);
    cache.put(858, 604);
    cache.put(541, 399);
    assert.equal(cache.get(770), 770);
    cache.put(93, 227);
    cache.put(55, 3207);
    cache.put(1283, 461);
    cache.put(1250, 1345);
    cache.put(1293, 2596);
    cache.put(906, 1165);
    cache.put(815, 3086);
    assert.equal(cache.get(1052), 767);
    cache.put(45, 1251);
    assert.equal(cache.get(695), 769);
    cache.put(1228, 1149);
    cache.put(160, 154);
    cache.put(775, 976);
    cache.put(728, 1425);
    assert.equal(cache.get(478), 606);
    cache.put(1095, 3006);
    assert.equal(cache.get(286), 1481);
    assert.equal(cache.get(773), 2274);
    cache.put(923, 2977);
    assert.equal(cache.get(946), null);
    assert.equal(cache.get(267), 415);
    assert.equal(cache.get(119), null);
    assert.equal(cache.get(929), 630);
    assert.equal(cache.get(1282), 1908);
    assert.equal(cache.get(953), 1178);
    cache.put(888, 286);
    cache.put(1016, 2467);
    assert.equal(cache.get(617), 830);
    assert.equal(cache.get(658), 990);
    assert.equal(cache.get(425), 2451);
    assert.equal(cache.get(463), 1154);
    assert.equal(cache.get(767), 1123);
    assert.equal(cache.get(617), 830);
    cache.put(344, 1589);
    assert.equal(cache.get(1036), null);
    assert.equal(cache.get(1017), null);
    cache.put(1328, 2525);
    cache.put(1114, 1213);
    assert.equal(cache.get(665), null);
    cache.put(1420, 1719);
    cache.put(573, 2523);
    assert.equal(cache.get(203), 488);
    assert.equal(cache.get(676), 3135);
    cache.put(45, 1152);
    assert.equal(cache.get(853), 1928);
    assert.equal(cache.get(518), 1873);
    cache.put(737, 2488);
    assert.equal(cache.get(862), 1572);
    cache.put(462, 1152);
    cache.put(425, 2414);
    assert.equal(cache.get(382), 2582);
    cache.put(667, 352);
    assert.equal(cache.get(638), 1013);
    cache.put(1412, 2780);
    cache.put(1045, 1513);
    cache.put(1191, 799);
    assert.equal(cache.get(939), 1773);
    assert.equal(cache.get(79), 272);
    assert.equal(cache.get(476), null);
    cache.put(1020, 2916);
    assert.equal(cache.get(1045), 1513);
    cache.put(1255, 653);
    assert.equal(cache.get(862), 1572);
    assert.equal(cache.get(324), 379);
    cache.put(862, 1581);
    assert.equal(cache.get(1216), 510);
    assert.equal(cache.get(498), null);
    assert.equal(cache.get(1187), 1399);
    assert.equal(cache.get(76), 3052);
    assert.equal(cache.get(963), 1383);
    cache.put(1272, 510);
    cache.put(752, 1301);
    assert.equal(cache.get(630), 1300);
    assert.equal(cache.get(737), null);
    assert.equal(cache.get(792), 882);
    cache.put(740, 3148);
    cache.put(613, 1699);
    assert.equal(cache.get(42), null);
    assert.equal(cache.get(538), null);
    assert.equal(cache.get(185), 1439);
    cache.put(1017, 2205);
    assert.equal(cache.get(785), 246);
    cache.put(1072, 1667);
    cache.put(1345, 3250);
    cache.put(608, 892);
    cache.put(893, 1254);
    cache.put(759, 1595);
    cache.put(435, 1962);
    cache.put(491, 2597);
    assert.equal(cache.get(1228), 1149);
    assert.equal(cache.get(253), 2806);
    cache.put(332, 1816);
    cache.put(1205, 2683);
    cache.put(243, 44);
    cache.put(577, 565);
    cache.put(1364, 1267);
    cache.put(583, 3031);
    cache.put(1427, 1392);
    assert.equal(cache.get(1346), 165);
    cache.put(360, 1195);
    cache.put(306, 3301);
    assert.equal(cache.get(387), 499);
    assert.equal(cache.get(1264), 2231);
    cache.put(1373, 2863);
    assert.equal(cache.get(1093), 2626);
    assert.equal(cache.get(727), 2957);
    assert.equal(cache.get(58), 638);
    cache.put(178, 2166);
    assert.equal(cache.get(357), null);
    cache.put(1311, 3121);
    cache.put(1426, 2341);
    cache.put(153, 3264);
    cache.put(346, 656);
    cache.put(751, 670);
    assert.equal(cache.get(369), null);
    assert.equal(cache.get(680), null);
    cache.put(1162, 834);
    assert.equal(cache.get(1243), 178);
    cache.put(598, 453);
    assert.equal(cache.get(888), 286);
    cache.put(562, 3032);
    cache.put(711, 1459);
    assert.equal(cache.get(895), 1418);
    assert.equal(cache.get(757), 529);
    assert.equal(cache.get(531), 2399);
    cache.put(545, 2308);
    cache.put(770, 2882);
    assert.equal(cache.get(979), 2870);
    cache.put(648, 1094);
    assert.equal(cache.get(552), 99);
    cache.put(996, 1762);
    assert.equal(cache.get(1409), 233);
    assert.equal(cache.get(220), 1589);
    cache.put(1244, 2076);
    cache.put(209, 1634);
    assert.equal(cache.get(324), 379);
    cache.put(1136, 3009);
    assert.equal(cache.get(1190), 1805);
    assert.equal(cache.get(886), null);
    cache.put(32, 87);
    assert.equal(cache.get(1387), 1336);
    cache.put(918, 2141);
    assert.equal(cache.get(479), null);
    cache.put(320, 2747);
    cache.put(1219, 1272);
    assert.equal(cache.get(319), null);
    cache.put(906, 2168);
    cache.put(486, 2639);
    assert.equal(cache.get(758), 2264);
    assert.equal(cache.get(1364), 1267);
    cache.put(318, 2307);
    assert.equal(cache.get(1426), 2341);
    assert.equal(cache.get(64), 492);
    assert.equal(cache.get(1317), 1083);
    cache.put(750, 160);
    cache.put(59, 982);
    cache.put(884, 2112);
    cache.put(454, 378);
    cache.put(456, 3053);
    cache.put(711, 2184);
    cache.put(566, 125);
    cache.put(28, 3134);
    assert.equal(cache.get(1241), 3181);
    cache.put(82, 509);
    assert.equal(cache.get(520), null);
    assert.equal(cache.get(1166), 524);
    assert.equal(cache.get(1338), 2397);
    cache.put(44, 1062);
    cache.put(1404, 820);
    assert.equal(cache.get(901), 1985);
    cache.put(244, 860);
    cache.put(141, 604);
    cache.put(33, 1168);
    cache.put(110, 1884);
    assert.equal(cache.get(1079), 1245);
    cache.put(585, 410);
    assert.equal(cache.get(254), 2505);
    cache.put(364, 3194);
    cache.put(1346, 1362);
    assert.equal(cache.get(287), null);
    cache.put(287, 2849);
    cache.put(1168, 2031);
    cache.put(584, 2392);
    cache.put(1210, 3172);
    cache.put(569, 2151);
    assert.equal(cache.get(192), 2702);
    cache.put(268, 2964);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(1178), 393);
    cache.put(405, 3033);
    assert.equal(cache.get(581), 1446);
    assert.equal(cache.get(580), 2516);
    cache.put(28, 2974);
    assert.equal(cache.get(51), null);
    assert.equal(cache.get(1354), 505);
    cache.put(129, 2144);
    cache.put(313, 527);
    cache.put(20, 3014);
    assert.equal(cache.get(273), 1505);
    assert.equal(cache.get(592), 2075);
    cache.put(29, 422);
    cache.put(1430, 1211);
    assert.equal(cache.get(1280), null);
    cache.put(119, 260);
    cache.put(549, 2606);
    assert.equal(cache.get(1130), 618);
    cache.put(1031, 42);
    assert.equal(cache.get(1257), 2142);
    assert.equal(cache.get(574), 119);
    assert.equal(cache.get(1215), 769);
    assert.equal(cache.get(341), 1792);
    cache.put(716, 2809);
    cache.put(14, 2376);
    cache.put(891, 1992);
    cache.put(530, 2235);
    cache.put(950, 764);
    assert.equal(cache.get(1196), 2527);
    cache.put(1221, 2333);
    cache.put(1114, 817);
    assert.equal(cache.get(543), 2678);
    cache.put(968, 1572);
    cache.put(285, 1945);
    cache.put(650, 2408);
    cache.put(23, 1384);
    cache.put(917, 3076);
    assert.equal(cache.get(498), null);
    assert.equal(cache.get(27), 1081);
    assert.equal(cache.get(637), 1961);
    cache.put(249, 2697);
    cache.put(417, 390);
    cache.put(579, 2321);
    assert.equal(cache.get(273), 1505);
    cache.put(294, 1665);
    cache.put(657, 2328);
    cache.put(692, 1189);
    cache.put(1355, 1926);
    cache.put(889, 2201);
    cache.put(335, 696);
    cache.put(1238, 774);
    assert.equal(cache.get(188), 817);
    cache.put(163, 333);
    assert.equal(cache.get(1194), 2608);
    assert.equal(cache.get(702), 637);
    cache.put(556, 2326);
    cache.put(621, 521);
    assert.equal(cache.get(15), 326);
    assert.equal(cache.get(1099), 2886);
    assert.equal(cache.get(352), 2396);
    cache.put(1291, 2163);
    assert.equal(cache.get(767), 1123);
    assert.equal(cache.get(669), 3176);
    assert.equal(cache.get(1373), null);
    cache.put(153, 205);
    assert.equal(cache.get(1144), 1128);
    assert.equal(cache.get(1412), null);
    cache.put(1356, 2909);
    cache.put(644, 2859);
    cache.put(478, 1649);
    assert.equal(cache.get(1320), 236);
    cache.put(1184, 2890);
    cache.put(1242, 779);
    cache.put(1258, 2831);
    cache.put(886, 1409);
    cache.put(378, 461);
    cache.put(551, 57);
    assert.equal(cache.get(413), 3144);
    cache.put(1233, 2007);
    cache.put(245, 198);
    assert.equal(cache.get(250), 1132);
    assert.equal(cache.get(143), null);
    cache.put(1208, 1165);
    cache.put(272, 1624);
    cache.put(161, 2780);
    cache.put(751, 197);
    assert.equal(cache.get(958), 2348);
    assert.equal(cache.get(1343), 1250);
    assert.equal(cache.get(266), 3285);
    assert.equal(cache.get(425), 2414);
    assert.equal(cache.get(1220), 227);
    assert.equal(cache.get(724), null);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(271), 2282);
    cache.put(709, 1401);
    cache.put(621, 1354);
    assert.equal(cache.get(784), 1234);
    assert.equal(cache.get(969), 378);
    cache.put(1107, 731);
    assert.equal(cache.get(1385), 1702);
    cache.put(978, 1806);
    assert.equal(cache.get(1042), null);
    assert.equal(cache.get(1344), null);
    assert.equal(cache.get(77), null);
    cache.put(237, 2119);
    assert.equal(cache.get(897), 903);
    cache.put(1107, 428);
    cache.put(71, 177);
    cache.put(1094, 3101);
    cache.put(396, 1565);
    cache.put(842, 2670);
    cache.put(667, 167);
    cache.put(627, 1239);
    cache.put(975, 1198);
    assert.equal(cache.get(8), 911);
    cache.put(633, 894);
    assert.equal(cache.get(1377), 2142);
    cache.put(307, 802);
    cache.put(355, 108);
    assert.equal(cache.get(429), 746);
    assert.equal(cache.get(220), 1589);
    cache.put(1415, 2220);
    assert.equal(cache.get(324), 379);
    cache.put(1313, 3291);
    assert.equal(cache.get(641), 1851);
    cache.put(581, 2772);
    assert.equal(cache.get(564), null);
    cache.put(64, 1339);
    assert.equal(cache.get(601), null);
    cache.put(895, 502);
    cache.put(1414, 933);
    cache.put(61, 3084);
    cache.put(1168, 3141);
    assert.equal(cache.get(1129), null);
    cache.put(336, 3116);
    assert.equal(cache.get(777), 850);
    assert.equal(cache.get(397), 3216);
    cache.put(977, 2294);
    cache.put(603, 1665);
    cache.put(147, 1721);
    cache.put(227, 1687);
    assert.equal(cache.get(440), 1054);
    cache.put(707, 1807);
    assert.equal(cache.get(946), null);
    cache.put(1407, 1262);
    cache.put(878, 2863);
    assert.equal(cache.get(476), null);
    cache.put(392, 1796);
    cache.put(234, 1081);
    assert.equal(cache.get(1042), null);
    cache.put(357, 430);
    assert.equal(cache.get(642), null);
    cache.put(1417, 2974);
    cache.put(59, 812);
    assert.equal(cache.get(26), 3054);
    cache.put(24, 1048);
    cache.put(1261, 1192);
    cache.put(395, 1245);
    assert.equal(cache.get(1188), 2127);
    cache.put(767, 2973);
    cache.put(1007, 2602);
    cache.put(199, 1865);
    cache.put(326, 873);
    assert.equal(cache.get(1403), 232);
    assert.equal(cache.get(203), 488);
    cache.put(132, 2160);
    cache.put(246, 1951);
    cache.put(1069, 2758);
    assert.equal(cache.get(1070), 2272);
    cache.put(882, 2733);
    cache.put(1312, 2397);
    cache.put(230, 2432);
    cache.put(769, 1730);
    assert.equal(cache.get(762), null);
    cache.put(945, 1947);
    cache.put(1416, 1260);
    assert.equal(cache.get(1431), 1073);
    assert.equal(cache.get(1351), null);
    assert.equal(cache.get(628), 2301);
    assert.equal(cache.get(748), 3146);
    cache.put(1258, 376);
    cache.put(753, 2967);
    assert.equal(cache.get(1135), 809);
    cache.put(134, 86);
    cache.put(682, 493);
    cache.put(243, 2196);
    cache.put(173, 347);
    cache.put(881, 1890);
    cache.put(1130, 210);
    cache.put(1335, 2630);
    cache.put(113, 975);
    assert.equal(cache.get(947), 1751);
    cache.put(686, 61);
    cache.put(341, 1796);
    assert.equal(cache.get(943), 2701);
    cache.put(620, 2149);
    assert.equal(cache.get(605), 3221);
    assert.equal(cache.get(631), 905);
    cache.put(1270, 1966);
    assert.equal(cache.get(1155), 1582);
    cache.put(125, 1717);
    assert.equal(cache.get(773), 2274);
    cache.put(548, 72);
    assert.equal(cache.get(814), 68);
    assert.equal(cache.get(759), 1595);
    cache.put(796, 2279);
    assert.equal(cache.get(1354), 505);
    assert.equal(cache.get(113), 975);
    cache.put(607, 925);
    cache.put(645, 702);
    assert.equal(cache.get(1199), 2068);
    cache.put(69, 1838);
    cache.put(867, 206);
    cache.put(565, 1628);
    assert.equal(cache.get(382), 2582);
    assert.equal(cache.get(20), 3014);
    assert.equal(cache.get(1396), 3200);
    cache.put(71, 2529);
    cache.put(420, 1264);
    cache.put(762, 633);
    assert.equal(cache.get(360), null);
    cache.put(150, 62);
    assert.equal(cache.get(66), 1329);
    cache.put(544, 204);
    assert.equal(cache.get(671), null);
    cache.put(1013, 2099);
    cache.put(1092, 2774);
    assert.equal(cache.get(1), 2796);
    cache.put(613, 798);
    assert.equal(cache.get(1133), null);
    assert.equal(cache.get(1068), 3026);
    cache.put(1028, 1136);
    cache.put(987, 3020);
    assert.equal(cache.get(826), 2596);
    assert.equal(cache.get(42), null);
    assert.equal(cache.get(1128), 1910);
    cache.put(417, 1333);
    assert.equal(cache.get(1), 2796);
    cache.put(872, 340);
    cache.put(1215, 2002);
    assert.equal(cache.get(746), 2696);
    cache.put(505, 1948);
    assert.equal(cache.get(970), 2586);
    assert.equal(cache.get(558), null);
    assert.equal(cache.get(909), 2023);
    cache.put(1239, 105);
    assert.equal(cache.get(1301), 2588);
    cache.put(1080, 1483);
    assert.equal(cache.get(1107), 428);
    assert.equal(cache.get(903), null);
    cache.put(628, 2856);
    cache.put(1107, 3250);
    cache.put(333, 370);
    assert.equal(cache.get(128), null);
    cache.put(1307, 762);
    assert.equal(cache.get(625), 1304);
    assert.equal(cache.get(791), 3245);
    cache.put(30, 1669);
    assert.equal(cache.get(924), 1895);
    assert.equal(cache.get(887), 890);
    cache.put(84, 1753);
    cache.put(184, 2109);
    cache.put(43, 1615);
    assert.equal(cache.get(606), null);
    cache.put(459, 870);
    cache.put(821, 1533);
    cache.put(396, 1973);
    cache.put(325, 3086);
    assert.equal(cache.get(1050), 741);
    cache.put(162, 1829);
    cache.put(314, 2390);
    assert.equal(cache.get(1001), null);
    cache.put(1249, 1220);
    assert.equal(cache.get(586), 3038);
    assert.equal(cache.get(201), 105);
    cache.put(589, 1681);
    assert.equal(cache.get(239), 2188);
    assert.equal(cache.get(48), 2118);
    cache.put(753, 2392);
    assert.equal(cache.get(19), 2810);
    cache.put(641, 2867);
    cache.put(37, 2819);
    cache.put(537, 786);
    assert.equal(cache.get(889), null);
    cache.put(33, 906);
    cache.put(327, 2044);
    assert.equal(cache.get(1364), 1267);
    cache.put(743, 817);
    cache.put(750, 1258);
    cache.put(42, 3084);
    cache.put(1307, 2168);
    cache.put(127, 3086);
    assert.equal(cache.get(70), 1153);
    cache.put(757, 138);
    assert.equal(cache.get(30), 1669);
    cache.put(649, 2972);
    cache.put(1179, 156);
    cache.put(998, 1018);
    cache.put(1078, 552);
    assert.equal(cache.get(89), 71);
    assert.equal(cache.get(134), 86);
    assert.equal(cache.get(1141), 1954);
    cache.put(1330, 2007);
    assert.equal(cache.get(120), null);
    assert.equal(cache.get(421), 2322);
    cache.put(574, 2772);
    cache.put(16, 2426);
    assert.equal(cache.get(262), null);
    cache.put(1410, 1757);
    assert.equal(cache.get(521), null);
    cache.put(464, 1019);
    assert.equal(cache.get(620), 2149);
    assert.equal(cache.get(290), 2579);
    cache.put(1018, 2431);
    assert.equal(cache.get(358), null);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(979), 2870);
    cache.put(604, 2056);
    cache.put(453, 885);
    cache.put(1147, 3148);
    assert.equal(cache.get(807), 1769);
    assert.equal(cache.get(1173), null);
    cache.put(198, 1768);
    assert.equal(cache.get(151), 704);
    cache.put(966, 2364);
    assert.equal(cache.get(414), 256);
    assert.equal(cache.get(985), null);
    cache.put(1309, 1428);
    cache.put(1190, 686);
    assert.equal(cache.get(32), 87);
    assert.equal(cache.get(997), 417);
    assert.equal(cache.get(811), null);
    cache.put(517, 1795);
    assert.equal(cache.get(1313), 3291);
    cache.put(1120, 1780);
    cache.put(885, 2708);
    cache.put(42, 389);
    cache.put(643, 3207);
    cache.put(1192, 1544);
    cache.put(488, 1341);
    cache.put(431, 2352);
    cache.put(282, 3217);
    cache.put(652, 2691);
    cache.put(1040, 1294);
    cache.put(1040, 2228);
    assert.equal(cache.get(129), 2144);
    assert.equal(cache.get(299), null);
    assert.equal(cache.get(1109), 347);
    cache.put(1288, 206);
    assert.equal(cache.get(507), 1957);
    cache.put(52, 152);
    cache.put(965, 2053);
    cache.put(1310, 2274);
    cache.put(25, 2160);
    cache.put(416, 2409);
    cache.put(901, 726);
    assert.equal(cache.get(1163), 291);
    cache.put(1222, 994);
    cache.put(828, 786);
    cache.put(210, 2868);
    assert.equal(cache.get(1057), 955);
    assert.equal(cache.get(1040), 2228);
    cache.put(509, 475);
    assert.equal(cache.get(890), null);
    assert.equal(cache.get(240), 601);
    assert.equal(cache.get(1405), 2942);
    cache.put(998, 1251);
    assert.equal(cache.get(774), 560);
    assert.equal(cache.get(1379), 2763);
    cache.put(1273, 2691);
    cache.put(563, 1257);
    assert.equal(cache.get(883), null);
    cache.put(44, 1822);
    cache.put(1138, 1840);
    cache.put(704, 1332);
    cache.put(160, 2550);
    cache.put(104, 1796);
    cache.put(659, 645);
    cache.put(415, 1604);
    assert.equal(cache.get(1190), 686);
    assert.equal(cache.get(95), null);
    cache.put(1062, 1385);
    assert.equal(cache.get(1064), 1393);
    assert.equal(cache.get(1131), null);
    assert.equal(cache.get(1384), 2262);
    assert.equal(cache.get(1156), 1492);
    assert.equal(cache.get(668), 649);
    cache.put(605, 2408);
    assert.equal(cache.get(754), 1958);
    cache.put(1420, 1551);
    assert.equal(cache.get(1304), 2983);
    assert.equal(cache.get(60), 2990);
    assert.equal(cache.get(1042), null);
    cache.put(613, 1916);
    cache.put(1356, 571);
    cache.put(1061, 2210);
    assert.equal(cache.get(438), null);
    assert.equal(cache.get(1372), 1944);
    cache.put(837, 1265);
    cache.put(684, 1656);
    assert.equal(cache.get(679), 2195);
    assert.equal(cache.get(190), 50);
    cache.put(669, 3091);
    cache.put(421, 1152);
    cache.put(1155, 3096);
    assert.equal(cache.get(1128), 1910);
    cache.put(1267, 2839);
    cache.put(1085, 2793);
    assert.equal(cache.get(1142), null);
    cache.put(1053, 3129);
    cache.put(1060, 135);
    cache.put(366, 471);
    cache.put(793, 1056);
    cache.put(759, 2643);
    cache.put(509, 746);
    assert.equal(cache.get(39), 384);
    assert.equal(cache.get(230), 2432);
    cache.put(933, 3210);
    cache.put(1121, 1663);
    cache.put(719, 1273);
    assert.equal(cache.get(1350), 1641);
    cache.put(921, 767);
    cache.put(569, 2887);
    cache.put(422, 2546);
    cache.put(80, 1619);
    assert.equal(cache.get(856), 1281);
    cache.put(1308, 2853);
    cache.put(869, 1802);
    cache.put(1147, 290);
    assert.equal(cache.get(725), null);
    assert.equal(cache.get(1196), 2527);
    cache.put(748, 1010);
    cache.put(1353, 1064);
    assert.equal(cache.get(593), null);
    cache.put(945, 2533);
    assert.equal(cache.get(151), 704);
    cache.put(1230, 428);
    cache.put(99, 3211);
    cache.put(1301, 2352);
    cache.put(1239, 2090);
    cache.put(1246, 1913);
    cache.put(697, 1007);
    cache.put(1211, 3302);
    cache.put(262, 2188);
    cache.put(600, 2665);
    assert.equal(cache.get(253), 2806);
    cache.put(252, 615);
    cache.put(493, 1623);
    cache.put(676, 3061);
    cache.put(867, 3142);
    cache.put(747, 3007);
    assert.equal(cache.get(1058), 1399);
    cache.put(898, 2521);
    cache.put(436, 3245);
    cache.put(1428, 616);
    assert.equal(cache.get(119), null);
    cache.put(1335, 2641);
    cache.put(1122, 1400);
    cache.put(359, 2049);
    cache.put(1107, 2744);
    cache.put(892, 1900);
    assert.equal(cache.get(1075), null);
    cache.put(334, 2219);
    cache.put(821, 3045);
    assert.equal(cache.get(1145), 2157);
    cache.put(915, 2684);
    assert.equal(cache.get(395), null);
    cache.put(939, 676);
    assert.equal(cache.get(62), null);
    cache.put(350, 2933);
    assert.equal(cache.get(800), 657);
    assert.equal(cache.get(403), 232);
    cache.put(703, 2714);
    assert.equal(cache.get(845), 698);
    cache.put(1210, 2913);
    cache.put(962, 3108);
    cache.put(1011, 3222);
    cache.put(113, 1293);
    assert.equal(cache.get(707), 1807);
    assert.equal(cache.get(876), null);
    assert.equal(cache.get(597), 2122);
    cache.put(1151, 3224);
    cache.put(241, 533);
    assert.equal(cache.get(24), 1048);
    cache.put(595, 1381);
    assert.equal(cache.get(901), 726);
    cache.put(258, 2201);
    assert.equal(cache.get(705), 1330);
    cache.put(251, 1310);
    cache.put(761, 1909);
    assert.equal(cache.get(858), 604);
    assert.equal(cache.get(273), 1505);
    assert.equal(cache.get(442), 325);
    assert.equal(cache.get(663), null);
    cache.put(1254, 2923);
    cache.put(813, 468);
    assert.equal(cache.get(931), null);
    cache.put(156, 1847);
    cache.put(1294, 443);
    cache.put(119, 2024);
    assert.equal(cache.get(50), null);
    cache.put(846, 3048);
    cache.put(148, 2867);
    cache.put(1042, 2173);
    cache.put(1345, 475);
    cache.put(247, 622);
    cache.put(238, 1181);
    assert.equal(cache.get(1389), null);
    assert.equal(cache.get(303), 811);
    cache.put(597, 3059);
    assert.equal(cache.get(1321), null);
    assert.equal(cache.get(1334), null);
    cache.put(1093, 2665);
    assert.equal(cache.get(537), 786);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(178), null);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(902), 3223);
    cache.put(802, 807);
    assert.equal(cache.get(890), null);
    cache.put(674, 2418);
    cache.put(929, 2786);
    assert.equal(cache.get(375), 2056);
    assert.equal(cache.get(485), null);
    cache.put(801, 2935);
    cache.put(877, 683);
    assert.equal(cache.get(1340), 3058);
    cache.put(709, 1252);
    assert.equal(cache.get(267), 415);
    assert.equal(cache.get(14), 2376);
    assert.equal(cache.get(668), 649);
    assert.equal(cache.get(1243), 178);
    cache.put(982, 130);
    cache.put(977, 881);
    cache.put(747, 720);
    cache.put(842, 2432);
    assert.equal(cache.get(1020), null);
    cache.put(1186, 231);
    cache.put(1150, 2346);
    cache.put(1263, 2958);
    cache.put(511, 885);
    cache.put(1201, 3241);
    cache.put(998, 2307);
    cache.put(380, 1292);
    cache.put(835, 3239);
    cache.put(511, 1184);
    assert.equal(cache.get(82), 509);
    assert.equal(cache.get(1195), 2940);
    cache.put(939, 1757);
    cache.put(1133, 3066);
    cache.put(446, 3263);
    cache.put(562, 1649);
    assert.equal(cache.get(1274), 2055);
    cache.put(1305, 90);
    assert.equal(cache.get(682), 493);
    cache.put(497, 2799);
    cache.put(271, 2810);
    cache.put(640, 1482);
    cache.put(760, 797);
    assert.equal(cache.get(940), 385);
    cache.put(222, 699);
    cache.put(667, 1956);
    assert.equal(cache.get(214), null);
    assert.equal(cache.get(1214), 2826);
    cache.put(79, 774);
    assert.equal(cache.get(696), 2552);
    assert.equal(cache.get(715), 3);
    cache.put(1171, 1299);
    assert.equal(cache.get(1387), 1336);
    cache.put(787, 507);
    assert.equal(cache.get(1229), 33);
    assert.equal(cache.get(378), null);
    cache.put(487, 1948);
    cache.put(352, 3277);
    assert.equal(cache.get(489), 2742);
    cache.put(805, 3242);
    cache.put(131, 1198);
    assert.equal(cache.get(1406), 1643);
    cache.put(294, 1966);
    assert.equal(cache.get(1175), 2476);
    assert.equal(cache.get(786), null);
    assert.equal(cache.get(1155), 3096);
    assert.equal(cache.get(677), 91);
    cache.put(1360, 365);
    assert.equal(cache.get(1149), 1107);
    assert.equal(cache.get(52), 152);
    cache.put(656, 1240);
    cache.put(989, 113);
    cache.put(808, 226);
    cache.put(98, 2580);
    cache.put(1273, 716);
    assert.equal(cache.get(373), 2894);
    cache.put(949, 543);
    cache.put(1025, 2846);
    assert.equal(cache.get(1388), 2519);
    cache.put(839, 2160);
    cache.put(246, 849);
    cache.put(1143, 476);
    assert.equal(cache.get(41), 1109);
    cache.put(1162, 1700);
    cache.put(803, 2708);
    assert.equal(cache.get(834), 1584);
    cache.put(1200, 2464);
    cache.put(889, 890);
    cache.put(744, 1816);
    cache.put(461, 1647);
    cache.put(371, 2014);
    cache.put(203, 2624);
    cache.put(1385, 1192);
    assert.equal(cache.get(704), 1332);
    assert.equal(cache.get(340), 2262);
    assert.equal(cache.get(1341), 1271);
    cache.put(226, 3075);
    cache.put(921, 2591);
    cache.put(1378, 2050);
    cache.put(1410, 3106);
    cache.put(1349, 346);
    assert.equal(cache.get(352), 3277);
    cache.put(1021, 2168);
    assert.equal(cache.get(959), 2468);
    assert.equal(cache.get(729), 2892);
    cache.put(785, 1100);
    cache.put(1342, 1547);
    assert.equal(cache.get(1164), null);
    cache.put(797, 3060);
    cache.put(512, 2617);
    cache.put(1384, 799);
    cache.put(507, 712);
    assert.equal(cache.get(1262), null);
    assert.equal(cache.get(768), 1039);
    cache.put(484, 2898);
    cache.put(272, 2016);
    cache.put(1033, 1454);
    assert.equal(cache.get(1109), 347);
    cache.put(1229, 3011);
    cache.put(1277, 1237);
    cache.put(959, 3292);
    assert.equal(cache.get(11), null);
    assert.equal(cache.get(46), 2357);
    cache.put(118, 298);
    assert.equal(cache.get(1059), 2029);
    cache.put(340, 247);
    cache.put(1071, 2187);
    cache.put(129, 3286);
    cache.put(188, 660);
    cache.put(375, 503);
    assert.equal(cache.get(527), 2533);
    assert.equal(cache.get(1055), 2856);
    assert.equal(cache.get(1363), 1487);
    cache.put(624, 889);
    cache.put(237, 329);
    assert.equal(cache.get(159), null);
    assert.equal(cache.get(575), 1181);
    assert.equal(cache.get(787), 507);
    cache.put(1247, 2804);
    cache.put(675, 1447);
    cache.put(1278, 2366);
    assert.equal(cache.get(744), 1816);
    cache.put(1064, 1183);
    cache.put(1183, 1603);
    assert.equal(cache.get(211), 2635);
    cache.put(97, 1894);
    cache.put(894, 1048);
    cache.put(1395, 3138);
    cache.put(194, 2944);
    cache.put(765, 1507);
    cache.put(1142, 3263);
    assert.equal(cache.get(829), 2362);
    cache.put(10, 480);
    assert.equal(cache.get(81), 910);
    assert.equal(cache.get(507), 712);
    cache.put(1359, 2055);
    cache.put(1072, 2406);
    cache.put(43, 237);
    cache.put(34, 658);
    assert.equal(cache.get(942), 128);
    cache.put(919, 3170);
    assert.equal(cache.get(1210), null);
    cache.put(732, 2703);
    assert.equal(cache.get(252), 615);
    assert.equal(cache.get(1297), 369);
    cache.put(1299, 3248);
    cache.put(685, 1820);
    assert.equal(cache.get(1038), 3250);
    assert.equal(cache.get(4), null);
    cache.put(452, 2156);
    cache.put(1425, 2332);
    cache.put(936, 2369);
    cache.put(693, 1138);
    assert.equal(cache.get(957), null);
    cache.put(825, 2722);
    cache.put(614, 1021);
    assert.equal(cache.get(1103), 3085);
    assert.equal(cache.get(163), null);
    assert.equal(cache.get(111), 1537);
    assert.equal(cache.get(1138), 1840);
    assert.equal(cache.get(79), 774);
    assert.equal(cache.get(1109), 347);
    assert.equal(cache.get(107), 3120);
    cache.put(1332, 466);
    cache.put(928, 1887);
    cache.put(68, 1108);
    cache.put(255, 2723);
    assert.equal(cache.get(244), 860);
    assert.equal(cache.get(117), 3022);
    assert.equal(cache.get(407), 2300);
    assert.equal(cache.get(778), null);
    cache.put(451, 414);
    assert.equal(cache.get(695), 769);
    assert.equal(cache.get(24), 1048);
    cache.put(1182, 916);
    cache.put(684, 1261);
    assert.equal(cache.get(1304), 2983);
    assert.equal(cache.get(1080), 1483);
    cache.put(1347, 49);
    assert.equal(cache.get(799), null);
    cache.put(1073, 1769);
    cache.put(1005, 3006);
    cache.put(693, 2906);
    cache.put(622, 1531);
    assert.equal(cache.get(701), 1604);
    cache.put(649, 838);
    cache.put(1321, 2021);
    cache.put(1355, 3017);
    cache.put(1199, 424);
    cache.put(1197, 723);
    cache.put(974, 150);
    assert.equal(cache.get(1226), null);
    assert.equal(cache.get(823), null);
    cache.put(898, 1203);
    cache.put(155, 2159);
    assert.equal(cache.get(468), null);
    assert.equal(cache.get(1286), 3276);
    assert.equal(cache.get(1297), 369);
    cache.put(338, 2421);
    assert.equal(cache.get(377), null);
    assert.equal(cache.get(608), null);
    cache.put(168, 1626);
    assert.equal(cache.get(573), 2523);
    assert.equal(cache.get(36), 1694);
    assert.equal(cache.get(1178), 393);
    cache.put(662, 1840);
    cache.put(1308, 1223);
    assert.equal(cache.get(323), 2827);
    assert.equal(cache.get(1251), 1874);
    cache.put(1254, 3047);
    cache.put(501, 1815);
    cache.put(221, 11);
    assert.equal(cache.get(425), 2414);
    assert.equal(cache.get(1029), 2569);
    cache.put(1105, 865);
    assert.equal(cache.get(132), 2160);
    cache.put(1319, 134);
    assert.equal(cache.get(1288), 206);
    assert.equal(cache.get(998), 2307);
    cache.put(945, 1689);
    cache.put(1057, 1716);
    assert.equal(cache.get(937), 2280);
    assert.equal(cache.get(604), null);
    cache.put(980, 2882);
    cache.put(326, 608);
    cache.put(983, 1008);
    assert.equal(cache.get(462), null);
    assert.equal(cache.get(1409), 233);
    cache.put(1131, 2104);
    assert.equal(cache.get(59), 812);
    cache.put(107, 3195);
    cache.put(738, 2178);
    cache.put(998, 2730);
    assert.equal(cache.get(696), 2552);
    cache.put(669, 3105);
    cache.put(1170, 471);
    cache.put(169, 523);
    cache.put(1008, 2684);
    cache.put(1115, 3006);
    assert.equal(cache.get(125), 1717);
    cache.put(349, 1337);
    cache.put(65, 358);
    assert.equal(cache.get(157), 1564);
    cache.put(1414, 2192);
    assert.equal(cache.get(1095), 3006);
    assert.equal(cache.get(749), 2745);
    assert.equal(cache.get(574), 2772);
    assert.equal(cache.get(1242), null);
    cache.put(1294, 2145);
    cache.put(1233, 3273);
    cache.put(1412, 2854);
    cache.put(15, 635);
    cache.put(209, 185);
    assert.equal(cache.get(1410), 3106);
    cache.put(252, 2358);
    cache.put(913, 987);
    cache.put(813, 403);
    cache.put(1063, 642);
    assert.equal(cache.get(310), 2940);
    assert.equal(cache.get(39), 384);
    cache.put(1323, 3263);
    assert.equal(cache.get(191), 458);
    cache.put(1258, 1116);
    cache.put(65, 3115);
    assert.equal(cache.get(412), 2590);
    cache.put(731, 2359);
    assert.equal(cache.get(174), null);
    assert.equal(cache.get(54), 2713);
    assert.equal(cache.get(1216), 510);
    cache.put(172, 2799);
    cache.put(90, 2176);
    assert.equal(cache.get(1119), 935);
    assert.equal(cache.get(843), 1031);
    cache.put(176, 1642);
    cache.put(427, 7);
    assert.equal(cache.get(859), 1669);
    cache.put(1185, 1878);
    assert.equal(cache.get(211), 2635);
    cache.put(600, 765);
    assert.equal(cache.get(503), 2046);
    assert.equal(cache.get(436), null);
    assert.equal(cache.get(919), null);
    cache.put(241, 821);
    assert.equal(cache.get(468), null);
    assert.equal(cache.get(633), 894);
    cache.put(609, 1394);
    assert.equal(cache.get(1417), 2974);
    cache.put(2, 2826);
    cache.put(147, 785);
    assert.equal(cache.get(1349), 346);
    assert.equal(cache.get(1053), 3129);
    cache.put(1313, 2194);
    assert.equal(cache.get(892), 1900);
    cache.put(181, 788);
    assert.equal(cache.get(228), 41);
    assert.equal(cache.get(824), 722);
    assert.equal(cache.get(536), 1072);
    cache.put(275, 1349);
    assert.equal(cache.get(1307), null);
    cache.put(57, 1968);
    cache.put(127, 884);
    cache.put(564, 1113);
    assert.equal(cache.get(145), 545);
    cache.put(803, 1631);
    cache.put(1131, 2849);
    cache.put(842, 2511);
    assert.equal(cache.get(491), 2597);
    assert.equal(cache.get(1087), 9);
    assert.equal(cache.get(311), 2701);
    assert.equal(cache.get(1338), 2397);
    assert.equal(cache.get(447), 1840);
    assert.equal(cache.get(415), null);
    cache.put(1180, 1761);
    cache.put(969, 932);
    assert.equal(cache.get(814), 68);
    cache.put(395, 1605);
    assert.equal(cache.get(981), null);
    cache.put(772, 3240);
    assert.equal(cache.get(485), null);
    cache.put(199, 2196);
    assert.equal(cache.get(1001), null);
    assert.equal(cache.get(979), 2870);
    cache.put(113, 4);
    cache.put(90, 676);
    assert.equal(cache.get(66), 1329);
    cache.put(838, 2770);
    cache.put(836, 49);
    assert.equal(cache.get(935), 1929);
    cache.put(47, 336);
    cache.put(686, 1753);
    cache.put(710, 2693);
    cache.put(380, 473);
    assert.equal(cache.get(643), 3207);
    cache.put(430, 2317);
    cache.put(618, 1526);
    cache.put(397, 3084);
    cache.put(1117, 1622);
    cache.put(45, 3095);
    cache.put(1373, 319);
    assert.equal(cache.get(489), 2742);
    assert.equal(cache.get(309), 3008);
    assert.equal(cache.get(1405), 2942);
    assert.equal(cache.get(940), 385);
    cache.put(804, 2834);
    cache.put(1060, 2051);
    assert.equal(cache.get(565), 1628);
    assert.equal(cache.get(964), 2096);
    cache.put(236, 418);
    assert.equal(cache.get(856), 1281);
    assert.equal(cache.get(611), 406);
    cache.put(1222, 2285);
    cache.put(156, 1786);
    assert.equal(cache.get(209), 185);
    cache.put(1188, 611);
    cache.put(167, 1645);
    assert.equal(cache.get(1003), 1780);
    cache.put(1275, 1321);
    assert.equal(cache.get(122), 3277);
    assert.equal(cache.get(576), 531);
    cache.put(846, 686);
    assert.equal(cache.get(54), 2713);
    assert.equal(cache.get(1080), 1483);
    cache.put(599, 2946);
    assert.equal(cache.get(320), 2747);
    cache.put(1308, 3114);
    cache.put(766, 754);
    assert.equal(cache.get(306), 3301);
    assert.equal(cache.get(606), null);
    assert.equal(cache.get(969), 932);
    assert.equal(cache.get(1161), null);
    cache.put(1128, 2117);
    cache.put(1093, 2948);
    cache.put(472, 1847);
    cache.put(877, 1029);
    assert.equal(cache.get(669), 3105);
    assert.equal(cache.get(544), 204);
    cache.put(1096, 950);
    assert.equal(cache.get(1404), 820);
    cache.put(1310, 3070);
    assert.equal(cache.get(1135), 809);
    assert.equal(cache.get(1350), 1641);
    cache.put(1239, 938);
    cache.put(1099, 2769);
    assert.equal(cache.get(800), 657);
    cache.put(1083, 1032);
    cache.put(622, 3045);
    assert.equal(cache.get(599), null);
    cache.put(1193, 14);
    assert.equal(cache.get(1411), null);
    assert.equal(cache.get(1064), 1183);
    assert.equal(cache.get(1109), 347);
    cache.put(1173, 2377);
    assert.equal(cache.get(883), null);
    assert.equal(cache.get(98), 2580);
    assert.equal(cache.get(274), 1381);
    assert.equal(cache.get(359), null);
    cache.put(1019, 2750);
    assert.equal(cache.get(8), 911);
    assert.equal(cache.get(1110), 1134);
    cache.put(1295, 2252);
    cache.put(783, 749);
    assert.equal(cache.get(227), 1687);
    cache.put(1235, 828);
    assert.equal(cache.get(694), null);
    cache.put(849, 1518);
    cache.put(698, 824);
    cache.put(273, 1877);
    assert.equal(cache.get(1389), null);
    assert.equal(cache.get(1410), 3106);
    cache.put(777, 1120);
    assert.equal(cache.get(1262), null);
    assert.equal(cache.get(21), 470);
    cache.put(1365, 2804);
    assert.equal(cache.get(536), 1072);
    cache.put(1330, 1828);
    assert.equal(cache.get(431), 2352);
    cache.put(136, 1254);
    cache.put(432, 2781);
    assert.equal(cache.get(110), null);
    cache.put(1386, 2303);
    cache.put(387, 1064);
    cache.put(688, 281);
    cache.put(1344, 1752);
    cache.put(1221, 980);
    assert.equal(cache.get(853), 1928);
    assert.equal(cache.get(143), null);
    cache.put(124, 380);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(727), 2957);
    cache.put(1138, 670);
    cache.put(237, 3177);
    cache.put(106, 1938);
    assert.equal(cache.get(724), null);
    cache.put(561, 1858);
    cache.put(114, 1359);
    cache.put(1381, 517);
    assert.equal(cache.get(18), 538);
    cache.put(1093, 3300);
    cache.put(1417, 70);
    cache.put(989, 2111);
    cache.put(399, 1872);
    cache.put(1379, 3088);
    cache.put(710, 2059);
    cache.put(1233, 2077);
    assert.equal(cache.get(65), null);
    cache.put(222, 2223);
    cache.put(108, 1998);
    cache.put(474, 2823);
    cache.put(412, 2842);
    assert.equal(cache.get(943), 2701);
    assert.equal(cache.get(1044), 2351);
    cache.put(1331, 755);
    cache.put(547, 45);
    cache.put(968, 2327);
    cache.put(822, 1488);
    cache.put(1422, 2563);
    assert.equal(cache.get(624), 889);
    assert.equal(cache.get(746), 2696);
    assert.equal(cache.get(549), 2606);
    cache.put(122, 274);
    assert.equal(cache.get(39), 384);
    cache.put(1118, 2982);
    assert.equal(cache.get(1395), 3138);
    assert.equal(cache.get(726), null);
    cache.put(886, 1820);
    cache.put(686, 96);
    cache.put(891, 2683);
    assert.equal(cache.get(1197), null);
    cache.put(127, 165);
    cache.put(135, 1151);
    assert.equal(cache.get(503), 2046);
    cache.put(949, 3007);
    cache.put(566, 2432);
    assert.equal(cache.get(86), 395);
    cache.put(944, 1934);
    assert.equal(cache.get(1340), 3058);
    cache.put(267, 1894);
    cache.put(651, 1573);
    cache.put(631, 807);
    cache.put(718, 2406);
    cache.put(513, 139);
    assert.equal(cache.get(228), 41);
    cache.put(305, 436);
    cache.put(57, 359);
    assert.equal(cache.get(570), 2032);
    cache.put(951, 446);
    cache.put(75, 2244);
    cache.put(173, 1075);
    cache.put(550, 1123);
    cache.put(554, 2757);
    cache.put(483, 3136);
    cache.put(1403, 1661);
    assert.equal(cache.get(588), 3282);
    cache.put(998, 1003);
    cache.put(981, 111);
    assert.equal(cache.get(265), 1870);
    cache.put(506, 1136);
    assert.equal(cache.get(493), 1623);
    assert.equal(cache.get(80), 1619);
    cache.put(504, 2321);
    assert.equal(cache.get(1249), 1220);
    assert.equal(cache.get(32), 87);
    assert.equal(cache.get(800), 657);
    cache.put(214, 1325);
    cache.put(202, 186);
    assert.equal(cache.get(85), 3062);
    cache.put(34, 883);
    assert.equal(cache.get(771), 2205);
    cache.put(39, 818);
    cache.put(1090, 3100);
    assert.equal(cache.get(615), 1481);
    assert.equal(cache.get(778), null);
    cache.put(1051, 1375);
    cache.put(635, 1949);
    cache.put(1073, 433);
    cache.put(1006, 3287);
    cache.put(835, 1513);
    assert.equal(cache.get(810), 1737);
    cache.put(1048, 1266);
    assert.equal(cache.get(1009), 2722);
    assert.equal(cache.get(1132), 1839);
    assert.equal(cache.get(40), 1117);
    cache.put(41, 1740);
    assert.equal(cache.get(632), 260);
    cache.put(463, 874);
    cache.put(725, 147);
    cache.put(987, 3275);
    cache.put(958, 3210);
    assert.equal(cache.get(795), null);
    assert.equal(cache.get(673), null);
    assert.equal(cache.get(9), 2537);
    cache.put(913, 1218);
    cache.put(1159, 1665);
    cache.put(1284, 1911);
    assert.equal(cache.get(802), 807);
    cache.put(415, 2135);
    cache.put(15, 104);
    cache.put(480, 1505);
    assert.equal(cache.get(634), null);
    cache.put(202, 862);
    assert.equal(cache.get(929), 2786);
    cache.put(318, 2907);
    cache.put(1117, 1857);
    cache.put(1224, 2521);
    cache.put(1386, 3009);
    assert.equal(cache.get(285), 1945);
    assert.equal(cache.get(244), 860);
    assert.equal(cache.get(493), 1623);
    cache.put(924, 1653);
    assert.equal(cache.get(1225), 752);
    assert.equal(cache.get(204), 1269);
    assert.equal(cache.get(1012), 1910);
    cache.put(1052, 1241);
    cache.put(726, 250);
    assert.equal(cache.get(816), null);
    assert.equal(cache.get(1171), 1299);
    assert.equal(cache.get(596), 1060);
    assert.equal(cache.get(170), 2556);
    assert.equal(cache.get(1139), 1174);
    assert.equal(cache.get(622), null);
    assert.equal(cache.get(985), null);
    cache.put(1360, 753);
    assert.equal(cache.get(1185), 1878);
    assert.equal(cache.get(143), null);
    assert.equal(cache.get(221), null);
    assert.equal(cache.get(984), 1658);
    cache.put(1365, 2119);
    cache.put(1292, 1008);
    cache.put(1246, 1391);
    cache.put(808, 1690);
    assert.equal(cache.get(838), 2770);
    cache.put(888, 2905);
    assert.equal(cache.get(1408), null);
    assert.equal(cache.get(256), 1605);
    cache.put(164, 2296);
    assert.equal(cache.get(359), null);
    cache.put(165, 695);
    cache.put(1235, 769);
    assert.equal(cache.get(45), 3095);
    cache.put(978, 1008);
    assert.equal(cache.get(165), 695);
    assert.equal(cache.get(1338), 2397);
    assert.equal(cache.get(551), 57);
    assert.equal(cache.get(117), 3022);
    cache.put(833, 2034);
    assert.equal(cache.get(186), 2751);
    assert.equal(cache.get(1135), 809);
    assert.equal(cache.get(336), 3116);
    cache.put(813, 3218);
    assert.equal(cache.get(963), 1383);
    cache.put(617, 887);
    cache.put(479, 1402);
    assert.equal(cache.get(633), 894);
    assert.equal(cache.get(238), 1181);
    cache.put(106, 2912);
    assert.equal(cache.get(589), null);
    cache.put(1212, 214);
    assert.equal(cache.get(1370), null);
    cache.put(1026, 10);
    cache.put(885, 1280);
    cache.put(1344, 2347);
    assert.equal(cache.get(181), 788);
    cache.put(1375, 3256);
    cache.put(75, 2693);
    cache.put(1304, 259);
    cache.put(998, 1659);
    assert.equal(cache.get(704), 1332);
    assert.equal(cache.get(592), 2075);
    assert.equal(cache.get(895), 502);
    assert.equal(cache.get(380), 473);
    assert.equal(cache.get(343), 1683);
    cache.put(381, 775);
    cache.put(867, 1333);
    cache.put(633, 2950);
    cache.put(1110, 742);
    cache.put(1026, 2497);
    cache.put(568, 497);
    cache.put(1043, 2970);
    assert.equal(cache.get(292), 2321);
    cache.put(92, 3176);
    cache.put(1380, 1289);
    cache.put(1100, 2437);
    assert.equal(cache.get(607), 925);
    cache.put(699, 2789);
    cache.put(1112, 1050);
    cache.put(95, 2121);
    cache.put(178, 2402);
    cache.put(1396, 2017);
    cache.put(512, 415);
    cache.put(195, 782);
    cache.put(1178, 1263);
    cache.put(473, 1438);
    assert.equal(cache.get(1380), 1289);
    assert.equal(cache.get(245), 198);
    assert.equal(cache.get(703), 2714);
    cache.put(169, 2464);
    assert.equal(cache.get(1273), null);
    cache.put(1000, 2440);
    cache.put(1165, 2091);
    cache.put(1054, 2393);
    assert.equal(cache.get(130), 927);
    cache.put(917, 2570);
    assert.equal(cache.get(1327), null);
    cache.put(1077, 133);
    assert.equal(cache.get(1054), 2393);
    cache.put(589, 2334);
    assert.equal(cache.get(1366), 1454);
    cache.put(128, 2067);
    cache.put(496, 1212);
    assert.equal(cache.get(1000), 2440);
    assert.equal(cache.get(553), 1988);
    cache.put(889, 2104);
    assert.equal(cache.get(336), 3116);
    cache.put(838, 2856);
    cache.put(815, 1178);
    cache.put(1304, 974);
    cache.put(1030, 1786);
    cache.put(1140, 699);
    assert.equal(cache.get(1080), 1483);
    assert.equal(cache.get(73), 3161);
    assert.equal(cache.get(1007), 2602);
    cache.put(1008, 1119);
    assert.equal(cache.get(499), 2869);
    assert.equal(cache.get(276), null);
    cache.put(213, 351);
    assert.equal(cache.get(481), 525);
    assert.equal(cache.get(1039), 1557);
    assert.equal(cache.get(828), null);
    assert.equal(cache.get(1051), 1375);
    cache.put(815, 2806);
    assert.equal(cache.get(334), 2219);
    cache.put(683, 2148);
    cache.put(89, 465);
    cache.put(548, 1276);
    cache.put(1422, 1796);
    cache.put(223, 3002);
    assert.equal(cache.get(371), 2014);
    assert.equal(cache.get(452), 2156);
    assert.equal(cache.get(874), null);
    cache.put(953, 2010);
    assert.equal(cache.get(489), 2742);
    assert.equal(cache.get(179), null);
    cache.put(983, 1909);
    cache.put(81, 1831);
    assert.equal(cache.get(1199), 424);
    cache.put(509, 356);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(1255), 653);
    cache.put(1033, 2987);
    cache.put(1098, 2998);
    cache.put(397, 1836);
    cache.put(340, 1354);
    cache.put(949, 2786);
    assert.equal(cache.get(1109), 347);
    cache.put(994, 2500);
    assert.equal(cache.get(687), 718);
    assert.equal(cache.get(1340), 3058);
    cache.put(1374, 2158);
    cache.put(358, 255);
    cache.put(1279, 793);
    cache.put(1030, 346);
    assert.equal(cache.get(56), null);
    cache.put(589, 2178);
    cache.put(1025, 1143);
    cache.put(1058, 2729);
    cache.put(548, 2829);
    cache.put(61, 960);
    assert.equal(cache.get(314), 2390);
    cache.put(723, 627);
    cache.put(636, 1677);
    cache.put(908, 1965);
    assert.equal(cache.get(434), 1569);
    cache.put(1271, 1422);
    cache.put(1300, 2715);
    assert.equal(cache.get(1270), 1966);
    assert.equal(cache.get(1351), null);
    cache.put(120, 1018);
    cache.put(584, 2215);
    cache.put(157, 1486);
    assert.equal(cache.get(141), 604);
    assert.equal(cache.get(1065), 2123);
    cache.put(722, 347);
    assert.equal(cache.get(1095), 3006);
    assert.equal(cache.get(1353), null);
    cache.put(549, 591);
    assert.equal(cache.get(1325), 417);
    cache.put(1317, 751);
    cache.put(928, 665);
    assert.equal(cache.get(1076), 2402);
    assert.equal(cache.get(1253), 2662);
    assert.equal(cache.get(1157), 1126);
    assert.equal(cache.get(1390), 2728);
    cache.put(798, 1183);
    cache.put(1410, 2939);
    assert.equal(cache.get(100), 3032);
    cache.put(589, 80);
    assert.equal(cache.get(700), 832);
    cache.put(1383, 2059);
    cache.put(765, 1750);
    cache.put(35, 2953);
    cache.put(538, 1743);
    cache.put(846, 2538);
    cache.put(1178, 2278);
    assert.equal(cache.get(559), 1006);
    cache.put(770, 1241);
    cache.put(694, 2610);
    cache.put(1321, 1781);
    assert.equal(cache.get(519), 625);
    cache.put(1194, 730);
    assert.equal(cache.get(1081), 1337);
    cache.put(638, 1219);
    assert.equal(cache.get(356), 379);
    assert.equal(cache.get(1306), null);
    assert.equal(cache.get(1016), 2467);
    cache.put(1143, 89);
    assert.equal(cache.get(366), null);
    cache.put(1198, 631);
    assert.equal(cache.get(971), 59);
    cache.put(372, 457);
    assert.equal(cache.get(1059), 2029);
    cache.put(355, 3236);
    cache.put(450, 200);
    cache.put(198, 1681);
    assert.equal(cache.get(567), null);
    cache.put(853, 1967);
    assert.equal(cache.get(1403), 1661);
    cache.put(873, 846);
    cache.put(427, 1049);
    assert.equal(cache.get(1358), 1240);
    cache.put(235, 2161);
    assert.equal(cache.get(1388), 2519);
    cache.put(120, 1530);
    cache.put(747, 537);
    assert.equal(cache.get(599), null);
    cache.put(827, 2935);
    assert.equal(cache.get(27), 1081);
    cache.put(272, 467);
    assert.equal(cache.get(939), 1757);
    cache.put(947, 2643);
    assert.equal(cache.get(818), 1817);
    cache.put(453, 497);
    cache.put(658, 2822);
    assert.equal(cache.get(602), 1240);
    cache.put(720, 1605);
    cache.put(1175, 1475);
    assert.equal(cache.get(464), 1019);
    cache.put(1062, 2648);
    cache.put(478, 2377);
    assert.equal(cache.get(874), null);
    cache.put(1364, 1939);
    cache.put(957, 1244);
    cache.put(990, 1609);
    cache.put(558, 2499);
    assert.equal(cache.get(634), null);
    assert.equal(cache.get(1129), null);
    cache.put(365, 748);
    cache.put(1100, 1140);
    cache.put(937, 3268);
    cache.put(993, 3135);
    cache.put(859, 473);
    assert.equal(cache.get(1307), null);
    assert.equal(cache.get(798), 1183);
    cache.put(1392, 1789);
    cache.put(128, 291);
    assert.equal(cache.get(157), 1486);
    cache.put(531, 1300);
    assert.equal(cache.get(340), 1354);
    cache.put(219, 2237);
    cache.put(741, 2205);
    cache.put(331, 3203);
    cache.put(1170, 2415);
    assert.equal(cache.get(1308), null);
    assert.equal(cache.get(434), 1569);
    cache.put(601, 2749);
    cache.put(533, 224);
    assert.equal(cache.get(589), null);
    cache.put(448, 1545);
    cache.put(147, 2244);
    assert.equal(cache.get(93), null);
    assert.equal(cache.get(1342), 1547);
    cache.put(1080, 3104);
    assert.equal(cache.get(593), null);
    cache.put(190, 2737);
    assert.equal(cache.get(1181), 2041);
    assert.equal(cache.get(1059), 2029);
    cache.put(603, 2646);
    cache.put(193, 371);
    assert.equal(cache.get(200), 249);
    assert.equal(cache.get(1338), 2397);
    cache.put(1331, 2843);
    cache.put(1307, 369);
    cache.put(97, 2330);
    assert.equal(cache.get(647), 2687);
    cache.put(402, 2531);
    cache.put(1419, 851);
    cache.put(307, 875);
    assert.equal(cache.get(622), null);
    assert.equal(cache.get(481), 525);
    cache.put(665, 2568);
    cache.put(984, 2377);
    assert.equal(cache.get(469), 1643);
    cache.put(397, 1201);
    assert.equal(cache.get(1331), null);
    cache.put(921, 144);
    assert.equal(cache.get(890), null);
    assert.equal(cache.get(1278), 2366);
    cache.put(547, 2515);
    cache.put(1427, 1435);
    assert.equal(cache.get(687), 718);
    assert.equal(cache.get(1014), 1079);
    assert.equal(cache.get(1285), 3082);
    assert.equal(cache.get(344), 1589);
    cache.put(1122, 3046);
    cache.put(443, 1769);
    cache.put(130, 3222);
    assert.equal(cache.get(1205), 2683);
    assert.equal(cache.get(180), 854);
    cache.put(65, 2627);
    cache.put(421, 1774);
    assert.equal(cache.get(206), 599);
    assert.equal(cache.get(900), 2427);
    assert.equal(cache.get(956), 450);
    cache.put(433, 2945);
    assert.equal(cache.get(597), 3059);
    cache.put(1147, 1542);
    cache.put(1410, 159);
    cache.put(1235, 2221);
    cache.put(1139, 2678);
    assert.equal(cache.get(553), 1988);
    assert.equal(cache.get(680), null);
    cache.put(1421, 2393);
    cache.put(842, 766);
    cache.put(834, 3105);
    cache.put(1149, 824);
    cache.put(1336, 2232);
    assert.equal(cache.get(376), null);
    cache.put(306, 500);
    assert.equal(cache.get(513), null);
    cache.put(1254, 170);
    cache.put(1422, 2828);
    cache.put(702, 110);
    assert.equal(cache.get(1371), 2125);
    cache.put(409, 2502);
    cache.put(1106, 887);
    assert.equal(cache.get(582), 1232);
    cache.put(747, 3184);
    cache.put(762, 2095);
    cache.put(597, 788);
    cache.put(1238, 2933);
    cache.put(813, 816);
    assert.equal(cache.get(1180), 1761);
    assert.equal(cache.get(954), 816);
    assert.equal(cache.get(835), 1513);
    cache.put(321, 594);
    cache.put(13, 2431);
    cache.put(842, 1893);
    cache.put(971, 1734);
    cache.put(353, 1913);
    assert.equal(cache.get(1278), 2366);
    assert.equal(cache.get(1223), 2321);
    assert.equal(cache.get(1297), 369);
    assert.equal(cache.get(960), 3128);
    assert.equal(cache.get(514), 2357);
    assert.equal(cache.get(1025), null);
    assert.equal(cache.get(1120), 1780);
    assert.equal(cache.get(508), null);
    cache.put(1110, 3279);
    cache.put(123, 825);
    assert.equal(cache.get(559), 1006);
    cache.put(307, 736);
    assert.equal(cache.get(578), 3131);
    cache.put(40, 3000);
    cache.put(927, 2892);
    cache.put(1047, 888);
    assert.equal(cache.get(378), null);
    cache.put(890, 3120);
    cache.put(341, 1680);
    cache.put(1398, 279);
    cache.put(620, 1988);
    cache.put(1370, 2410);
    cache.put(379, 2527);
    assert.equal(cache.get(164), 2296);
    assert.equal(cache.get(314), 2390);
    cache.put(561, 1145);
    cache.put(833, 1244);
    assert.equal(cache.get(391), 874);
    cache.put(88, 2242);
    assert.equal(cache.get(1266), 148);
    cache.put(873, 2609);
    assert.equal(cache.get(488), 1341);
    cache.put(1077, 2380);
    assert.equal(cache.get(1018), 2431);
    cache.put(268, 251);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(1182), null);
    cache.put(29, 549);
    cache.put(67, 1274);
    assert.equal(cache.get(217), 2412);
    cache.put(386, 1071);
    cache.put(87, 3028);
    cache.put(516, 917);
    cache.put(297, 1442);
    cache.put(173, 1590);
    cache.put(886, 1932);
    cache.put(1255, 3289);
    cache.put(525, 761);
    assert.equal(cache.get(240), 601);
    assert.equal(cache.get(817), 3029);
    assert.equal(cache.get(624), 889);
    cache.put(487, 283);
    cache.put(823, 3030);
    assert.equal(cache.get(1063), 642);
    cache.put(924, 2675);
    assert.equal(cache.get(164), 2296);
    cache.put(682, 2042);
    assert.equal(cache.get(1375), 3256);
    assert.equal(cache.get(120), null);
    cache.put(1430, 1662);
    cache.put(50, 1248);
    cache.put(229, 2993);
    cache.put(276, 258);
    assert.equal(cache.get(945), 1689);
    cache.put(1070, 2267);
    cache.put(703, 2079);
    cache.put(1290, 1925);
    assert.equal(cache.get(312), null);
    cache.put(151, 312);
    assert.equal(cache.get(378), null);
    assert.equal(cache.get(309), 3008);
    cache.put(309, 1572);
    assert.equal(cache.get(1080), 3104);
    cache.put(432, 1173);
    cache.put(185, 3080);
    cache.put(357, 691);
    cache.put(66, 380);
    assert.equal(cache.get(47), 336);
    assert.equal(cache.get(205), 2062);
    assert.equal(cache.get(962), 3108);
    assert.equal(cache.get(265), 1870);
    cache.put(973, 213);
    cache.put(1111, 817);
    assert.equal(cache.get(1059), 2029);
    assert.equal(cache.get(1409), 233);
    cache.put(581, 2652);
    assert.equal(cache.get(959), 3292);
    cache.put(1197, 2920);
    assert.equal(cache.get(552), 99);
    cache.put(320, 2352);
    cache.put(663, 1314);
    assert.equal(cache.get(706), null);
    cache.put(367, 327);
    cache.put(930, 1636);
    assert.equal(cache.get(1063), 642);
    assert.equal(cache.get(40), 3000);
    cache.put(281, 567);
    cache.put(733, 1124);
    assert.equal(cache.get(992), 603);
    assert.equal(cache.get(951), 446);
    assert.equal(cache.get(488), 1341);
    cache.put(1384, 1460);
    assert.equal(cache.get(746), 2696);
    assert.equal(cache.get(1036), null);
    cache.put(488, 1558);
    cache.put(353, 2306);
    assert.equal(cache.get(678), 2216);
    cache.put(1020, 841);
    assert.equal(cache.get(60), 2990);
    cache.put(311, 3168);
    assert.equal(cache.get(373), 2894);
    cache.put(523, 2253);
    cache.put(368, 110);
    cache.put(923, 1280);
    assert.equal(cache.get(949), null);
    cache.put(1021, 1785);
    assert.equal(cache.get(1114), null);
    cache.put(443, 1784);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(524), 3234);
    assert.equal(cache.get(1094), null);
    assert.equal(cache.get(1354), 505);
    assert.equal(cache.get(1113), 1161);
    cache.put(358, 731);
    assert.equal(cache.get(236), null);
    cache.put(1155, 272);
    assert.equal(cache.get(95), null);
    cache.put(1388, 3168);
    cache.put(489, 615);
    cache.put(176, 1162);
    cache.put(68, 3031);
    cache.put(403, 1628);
    assert.equal(cache.get(1251), 1874);
    cache.put(1007, 606);
    cache.put(859, 594);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(811), null);
    cache.put(578, 648);
    cache.put(428, 2613);
    cache.put(497, 123);
    assert.equal(cache.get(1140), null);
    assert.equal(cache.get(1335), 2641);
    assert.equal(cache.get(607), 925);
    cache.put(1360, 2795);
    cache.put(775, 364);
    cache.put(829, 1534);
    assert.equal(cache.get(1169), 418);
    cache.put(65, 789);
    assert.equal(cache.get(311), 3168);
    cache.put(338, 80);
    assert.equal(cache.get(1321), null);
    assert.equal(cache.get(909), 2023);
    cache.put(993, 2471);
    assert.equal(cache.get(1378), 2050);
    cache.put(999, 1374);
    cache.put(1421, 1369);
    cache.put(932, 1301);
    assert.equal(cache.get(110), null);
    cache.put(665, 1332);
    assert.equal(cache.get(1238), 2933);
    cache.put(1418, 3082);
    cache.put(335, 1703);
    assert.equal(cache.get(333), 370);
    cache.put(541, 2234);
    cache.put(536, 2834);
    assert.equal(cache.get(73), 3161);
    assert.equal(cache.get(310), 2940);
    cache.put(106, 3184);
    assert.equal(cache.get(1130), 210);
    cache.put(329, 3);
    cache.put(277, 2659);
    cache.put(333, 416);
    assert.equal(cache.get(511), 1184);
    cache.put(819, 2637);
    cache.put(661, 3236);
    assert.equal(cache.get(849), null);
    assert.equal(cache.get(1253), 2662);
    cache.put(95, 843);
    cache.put(1288, 2604);
    cache.put(1017, 2706);
    cache.put(544, 2580);
    assert.equal(cache.get(1392), null);
    cache.put(1096, 628);
    cache.put(310, 780);
    assert.equal(cache.get(1204), 2371);
    cache.put(934, 619);
    assert.equal(cache.get(1429), 2156);
    cache.put(707, 1709);
    assert.equal(cache.get(1260), null);
    cache.put(261, 923);
    assert.equal(cache.get(563), 1257);
    cache.put(68, 1374);
    cache.put(454, 1206);
    cache.put(636, 1411);
    assert.equal(cache.get(15), 104);
    cache.put(337, 94);
    cache.put(420, 1076);
    assert.equal(cache.get(108), null);
    cache.put(313, 1847);
    cache.put(1013, 156);
    assert.equal(cache.get(66), 380);
    assert.equal(cache.get(511), 1184);
    assert.equal(cache.get(880), null);
    cache.put(675, 767);
    cache.put(242, 2313);
    assert.equal(cache.get(1078), null);
    assert.equal(cache.get(1133), null);
    cache.put(628, 426);
    cache.put(1019, 2882);
    assert.equal(cache.get(630), 1300);
    cache.put(1051, 2442);
    cache.put(1215, 2199);
    cache.put(747, 68);
    cache.put(860, 1135);
    assert.equal(cache.get(362), 1887);
    assert.equal(cache.get(1310), 3070);
    cache.put(1402, 749);
    cache.put(506, 1355);
    assert.equal(cache.get(1288), 2604);
    assert.equal(cache.get(1251), 1874);
    cache.put(1073, 1059);
    cache.put(769, 1952);
    cache.put(750, 1178);
    assert.equal(cache.get(1267), 2839);
    assert.equal(cache.get(1300), 2715);
    cache.put(725, 2968);
    assert.equal(cache.get(586), 3038);
    cache.put(344, 335);
    assert.equal(cache.get(737), null);
    cache.put(233, 3050);
    assert.equal(cache.get(1235), 2221);
    cache.put(90, 74);
    cache.put(573, 2734);
    cache.put(824, 1573);
    assert.equal(cache.get(760), null);
    assert.equal(cache.get(1294), 2145);
    cache.put(1373, 1627);
    cache.put(33, 1486);
    cache.put(1272, 272);
    assert.equal(cache.get(798), 1183);
    assert.equal(cache.get(126), 2468);
    cache.put(1166, 3191);
    cache.put(157, 1069);
    cache.put(274, 1168);
    cache.put(1325, 669);
    assert.equal(cache.get(960), 3128);
    cache.put(444, 2836);
    assert.equal(cache.get(1317), 751);
    assert.equal(cache.get(365), 748);
    cache.put(564, 566);
    cache.put(193, 1030);
    assert.equal(cache.get(1326), null);
    cache.put(1268, 1010);
    cache.put(1255, 1486);
    assert.equal(cache.get(701), 1604);
    cache.put(959, 2213);
    assert.equal(cache.get(896), 495);
    assert.equal(cache.get(967), null);
    cache.put(362, 1117);
    assert.equal(cache.get(1393), null);
    assert.equal(cache.get(864), 2876);
    assert.equal(cache.get(242), null);
    cache.put(973, 3219);
    assert.equal(cache.get(298), null);
    cache.put(1287, 1537);
    cache.put(660, 1047);
    cache.put(616, 412);
    assert.equal(cache.get(485), null);
    assert.equal(cache.get(65), null);
    assert.equal(cache.get(1338), 2397);
    cache.put(1407, 1825);
    assert.equal(cache.get(1265), 2493);
    cache.put(1025, 2164);
    cache.put(818, 1042);
    cache.put(352, 603);
    assert.equal(cache.get(1355), 3017);
    cache.put(421, 1025);
    cache.put(1274, 258);
    assert.equal(cache.get(468), null);
    assert.equal(cache.get(1342), 1547);
    assert.equal(cache.get(443), 1784);
    cache.put(139, 2418);
    cache.put(385, 2140);
    cache.put(391, 2040);
    assert.equal(cache.get(1132), 1839);
    cache.put(203, 2371);
    cache.put(938, 1239);
    assert.equal(cache.get(205), 2062);
    assert.equal(cache.get(1066), 750);
    assert.equal(cache.get(1368), 2764);
    cache.put(295, 1023);
    cache.put(850, 2177);
    cache.put(1425, 265);
    assert.equal(cache.get(66), 380);
    cache.put(113, 1133);
    cache.put(1038, 2215);
    assert.equal(cache.get(532), 2214);
    assert.equal(cache.get(1131), null);
    assert.equal(cache.get(1247), null);
    assert.equal(cache.get(524), 3234);
    cache.put(428, 1400);
    cache.put(903, 2133);
    cache.put(380, 8);
    assert.equal(cache.get(215), 426);
    cache.put(890, 1813);
    assert.equal(cache.get(936), 2369);
    assert.equal(cache.get(852), 339);
    cache.put(183, 417);
    assert.equal(cache.get(1218), 3037);
    cache.put(715, 585);
    cache.put(557, 1001);
    cache.put(714, 1019);
    cache.put(1296, 414);
    cache.put(480, 986);
    assert.equal(cache.get(1303), null);
    assert.equal(cache.get(1194), 730);
    cache.put(295, 780);
    cache.put(1139, 1560);
    assert.equal(cache.get(1149), 824);
    assert.equal(cache.get(1127), 1457);
    cache.put(483, 1128);
    cache.put(901, 221);
    assert.equal(cache.get(325), 3086);
    assert.equal(cache.get(1040), 2228);
    cache.put(935, 2925);
    cache.put(219, 2034);
    cache.put(155, 1728);
    assert.equal(cache.get(171), 282);
    cache.put(692, 1393);
    assert.equal(cache.get(52), 152);
    assert.equal(cache.get(1242), null);
    cache.put(29, 2440);
    cache.put(1385, 2992);
    cache.put(328, 2333);
    assert.equal(cache.get(952), 2706);
    assert.equal(cache.get(603), 2646);
    cache.put(1243, 394);
    cache.put(325, 1869);
    cache.put(1145, 2821);
    cache.put(667, 1487);
    assert.equal(cache.get(711), 2184);
    cache.put(720, 1428);
    assert.equal(cache.get(34), 883);
    cache.put(1187, 1889);
    cache.put(71, 3090);
    cache.put(202, 1556);
    assert.equal(cache.get(1374), 2158);
    cache.put(1281, 1100);
    assert.equal(cache.get(370), null);
    cache.put(748, 815);
    cache.put(271, 3091);
    assert.equal(cache.get(783), 749);
    cache.put(909, 2815);
    cache.put(810, 206);
    cache.put(407, 614);
    cache.put(438, 2177);
    cache.put(995, 926);
    assert.equal(cache.get(146), 2027);
    assert.equal(cache.get(565), 1628);
    assert.equal(cache.get(1378), 2050);
    assert.equal(cache.get(694), null);
    cache.put(680, 2340);
    cache.put(134, 3065);
    cache.put(725, 1769);
    cache.put(992, 2284);
    cache.put(235, 2272);
    assert.equal(cache.get(924), 2675);
    cache.put(1420, 1715);
    cache.put(649, 1422);
    cache.put(864, 141);
    assert.equal(cache.get(1252), 276);
    assert.equal(cache.get(411), null);
    cache.put(621, 78);
    assert.equal(cache.get(574), 2772);
    cache.put(285, 2353);
    cache.put(1165, 1868);
    assert.equal(cache.get(1428), null);
    cache.put(127, 146);
    cache.put(178, 2356);
    assert.equal(cache.get(1218), 3037);
    cache.put(1217, 2977);
    assert.equal(cache.get(385), null);
    assert.equal(cache.get(1129), null);
    cache.put(241, 2393);
    assert.equal(cache.get(280), 3180);
    assert.equal(cache.get(1010), 1153);
    cache.put(61, 2234);
    assert.equal(cache.get(1340), 3058);
    cache.put(1238, 2725);
    cache.put(469, 1569);
    cache.put(1296, 1768);
    cache.put(1366, 2816);
    assert.equal(cache.get(865), 3099);
    assert.equal(cache.get(942), 128);
    cache.put(37, 1382);
    assert.equal(cache.get(346), 656);
    cache.put(549, 2780);
    assert.equal(cache.get(1428), null);
    assert.equal(cache.get(682), 2042);
    assert.equal(cache.get(871), null);
    assert.equal(cache.get(690), 100);
    cache.put(693, 2195);
    assert.equal(cache.get(274), 1168);
    assert.equal(cache.get(404), 1508);
    assert.equal(cache.get(955), null);
    assert.equal(cache.get(75), null);
    cache.put(308, 2387);
    cache.put(1084, 3187);
    cache.put(931, 2344);
    assert.equal(cache.get(1375), 3256);
    assert.equal(cache.get(1026), null);
    assert.equal(cache.get(1049), 3022);
    cache.put(519, 1282);
    cache.put(1405, 103);
    cache.put(992, 928);
    cache.put(929, 3083);
    cache.put(667, 1939);
    assert.equal(cache.get(831), 577);
    assert.equal(cache.get(754), 1958);
    cache.put(618, 79);
    cache.put(1290, 2417);
    assert.equal(cache.get(543), 2678);
    cache.put(756, 2755);
    assert.equal(cache.get(994), 2500);
    cache.put(963, 397);
    cache.put(826, 1176);
    assert.equal(cache.get(2), 2826);
    assert.equal(cache.get(225), 3012);
    assert.equal(cache.get(479), null);
    cache.put(1345, 953);
    cache.put(648, 891);
    assert.equal(cache.get(422), 2546);
    assert.equal(cache.get(102), 947);
    assert.equal(cache.get(59), 812);
    cache.put(538, 2705);
    cache.put(876, 3149);
    cache.put(974, 2198);
    cache.put(324, 1668);
    assert.equal(cache.get(820), 837);
    cache.put(35, 3025);
    assert.equal(cache.get(1311), 3121);
    cache.put(517, 1906);
    cache.put(134, 537);
    cache.put(1125, 1179);
    assert.equal(cache.get(657), 2328);
    cache.put(2, 291);
    assert.equal(cache.get(42), null);
    assert.equal(cache.get(598), 453);
    assert.equal(cache.get(1213), null);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(1262), null);
    cache.put(115, 2523);
    cache.put(507, 2760);
    cache.put(435, 563);
    cache.put(404, 1843);
    assert.equal(cache.get(636), null);
    cache.put(1036, 1585);
    cache.put(1356, 1873);
    assert.equal(cache.get(357), null);
    cache.put(37, 3291);
    assert.equal(cache.get(1208), 1165);
    assert.equal(cache.get(870), 1772);
    assert.equal(cache.get(1390), 2728);
    cache.put(108, 1090);
    cache.put(1239, 1092);
    cache.put(68, 582);
    assert.equal(cache.get(504), 2321);
    assert.equal(cache.get(111), 1537);
    cache.put(1226, 278);
    assert.equal(cache.get(438), null);
    assert.equal(cache.get(1148), 2774);
    cache.put(1205, 1424);
    cache.put(725, 2660);
    cache.put(491, 1921);
    assert.equal(cache.get(1163), 291);
    cache.put(263, 2428);
    cache.put(1421, 614);
    cache.put(572, 638);
    cache.put(1047, 288);
    cache.put(321, 2748);
    assert.equal(cache.get(946), null);
    assert.equal(cache.get(352), 603);
    assert.equal(cache.get(1275), 1321);
    assert.equal(cache.get(993), 2471);
    assert.equal(cache.get(74), null);
    assert.equal(cache.get(516), 917);
    cache.put(548, 24);
    assert.equal(cache.get(628), 426);
    cache.put(1222, 2299);
    cache.put(287, 393);
    cache.put(1135, 1485);
    cache.put(97, 1375);
    assert.equal(cache.get(71), 3090);
    cache.put(1430, 1391);
    cache.put(18, 2282);
    cache.put(615, 1916);
    assert.equal(cache.get(1088), 1408);
    assert.equal(cache.get(690), 100);
    assert.equal(cache.get(1253), 2662);
    assert.equal(cache.get(950), null);
    cache.put(759, 3276);
    cache.put(893, 2175);
    assert.equal(cache.get(1315), 2031);
    cache.put(580, 88);
    assert.equal(cache.get(440), 1054);
    assert.equal(cache.get(899), 3227);
    cache.put(1153, 2668);
    cache.put(759, 879);
    assert.equal(cache.get(1400), 994);
    cache.put(295, 363);
    assert.equal(cache.get(81), 1831);
    assert.equal(cache.get(1376), null);
    cache.put(400, 119);
    cache.put(866, 1352);
    assert.equal(cache.get(204), 1269);
    assert.equal(cache.get(109), 1426);
    assert.equal(cache.get(146), 2027);
    assert.equal(cache.get(1033), 2987);
    cache.put(744, 175);
    cache.put(778, 162);
    assert.equal(cache.get(550), 1123);
    cache.put(149, 461);
    assert.equal(cache.get(1345), 953);
    cache.put(678, 1774);
    cache.put(788, 2059);
    assert.equal(cache.get(641), 2867);
    assert.equal(cache.get(276), null);
    cache.put(1151, 173);
    cache.put(1226, 1431);
    cache.put(1381, 1987);
    cache.put(447, 57);
    assert.equal(cache.get(1297), 369);
    assert.equal(cache.get(1024), 956);
    assert.equal(cache.get(623), 1100);
    cache.put(1120, 467);
    cache.put(16, 1576);
    cache.put(44, 3294);
    cache.put(1297, 1578);
    cache.put(778, 2612);
    cache.put(877, 1793);
    cache.put(449, 676);
    assert.equal(cache.get(867), null);
    cache.put(128, 2788);
    cache.put(1152, 3168);
    assert.equal(cache.get(90), 74);
    assert.equal(cache.get(59), 812);
    cache.put(193, 1253);
    assert.equal(cache.get(926), 1848);
    assert.equal(cache.get(1103), 3085);
    cache.put(125, 580);
    cache.put(1035, 2313);
    cache.put(890, 2560);
    cache.put(1098, 1977);
    cache.put(1137, 128);
    assert.equal(cache.get(1346), 1362);
    cache.put(1361, 1899);
    assert.equal(cache.get(829), 1534);
    assert.equal(cache.get(738), null);
    cache.put(251, 80);
    assert.equal(cache.get(1116), 2872);
    assert.equal(cache.get(69), 1838);
    assert.equal(cache.get(654), 1792);
    cache.put(780, 2166);
    assert.equal(cache.get(75), null);
    cache.put(378, 804);
    cache.put(396, 2567);
    assert.equal(cache.get(1356), 1873);
    cache.put(811, 1154);
    cache.put(755, 1882);
    cache.put(230, 599);
    assert.equal(cache.get(1103), 3085);
    cache.put(1373, 1134);
    cache.put(637, 791);
    assert.equal(cache.get(1006), 3287);
    cache.put(274, 1608);
    cache.put(566, 1020);
    cache.put(547, 1877);
    cache.put(388, 2794);
    cache.put(1413, 1773);
    assert.equal(cache.get(844), 2800);
    cache.put(429, 2049);
    cache.put(308, 1025);
    assert.equal(cache.get(1060), null);
    cache.put(924, 2034);
    cache.put(1175, 1124);
    assert.equal(cache.get(192), 2702);
    cache.put(391, 1746);
    cache.put(1262, 2887);
    assert.equal(cache.get(484), 2898);
    cache.put(1234, 3035);
    cache.put(438, 3074);
    assert.equal(cache.get(1208), 1165);
    assert.equal(cache.get(1267), 2839);
    assert.equal(cache.get(64), 1339);
    cache.put(326, 1838);
    cache.put(1215, 5);
    assert.equal(cache.get(225), 3012);
    assert.equal(cache.get(966), 2364);
    cache.put(936, 68);
    cache.put(475, 585);
    assert.equal(cache.get(1005), 3006);
    cache.put(524, 1464);
    cache.put(1003, 1458);
    assert.equal(cache.get(338), null);
    assert.equal(cache.get(1097), 1473);
    assert.equal(cache.get(1292), 1008);
    assert.equal(cache.get(216), 135);
    cache.put(405, 2535);
    assert.equal(cache.get(1167), null);
    assert.equal(cache.get(1064), 1183);
    assert.equal(cache.get(394), 2558);
    assert.equal(cache.get(1232), 1755);
    assert.equal(cache.get(699), 2789);
    assert.equal(cache.get(229), 2993);
    cache.put(562, 1181);
    assert.equal(cache.get(827), 2935);
    cache.put(783, 3004);
    assert.equal(cache.get(1040), 2228);
    cache.put(383, 3298);
    assert.equal(cache.get(802), 807);
    cache.put(1425, 257);
    cache.put(1382, 780);
    cache.put(779, 2237);
    cache.put(1419, 3269);
    assert.equal(cache.get(1078), null);
    cache.put(329, 1382);
    cache.put(797, 1808);
    assert.equal(cache.get(735), 2814);
    cache.put(1290, 1996);
    assert.equal(cache.get(4), null);
    assert.equal(cache.get(439), 2280);
    assert.equal(cache.get(539), null);
    assert.equal(cache.get(900), 2427);
    cache.put(346, 1421);
    cache.put(861, 3046);
    assert.equal(cache.get(1047), 288);
    cache.put(536, 929);
    assert.equal(cache.get(955), null);
    assert.equal(cache.get(498), null);
    cache.put(978, 2208);
    cache.put(1342, 1077);
    cache.put(230, 2628);
    cache.put(120, 3031);
    assert.equal(cache.get(768), 1039);
    cache.put(552, 226);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(169), 2464);
    assert.equal(cache.get(865), 3099);
    assert.equal(cache.get(210), 2868);
    cache.put(672, 2136);
    cache.put(14, 1907);
    cache.put(305, 2344);
    cache.put(640, 1262);
    cache.put(315, 11);
    cache.put(651, 2115);
    cache.put(127, 2590);
    assert.equal(cache.get(152), 2472);
    cache.put(518, 334);
    cache.put(408, 413);
    assert.equal(cache.get(15), 104);
    assert.equal(cache.get(1383), 2059);
    cache.put(117, 2903);
    cache.put(969, 2106);
    assert.equal(cache.get(129), 3286);
    cache.put(959, 2086);
    assert.equal(cache.get(198), null);
    assert.equal(cache.get(346), 1421);
    assert.equal(cache.get(679), 2195);
    cache.put(916, 3287);
    assert.equal(cache.get(1378), 2050);
    cache.put(325, 1319);
    cache.put(562, 1003);
    cache.put(1249, 2295);
    assert.equal(cache.get(864), 141);
    cache.put(643, 1659);
    cache.put(758, 1404);
    cache.put(1428, 2661);
    cache.put(797, 758);
    cache.put(463, 1266);
    cache.put(441, 478);
    cache.put(445, 1058);
    assert.equal(cache.get(1412), null);
    assert.equal(cache.get(1102), 1688);
    cache.put(649, 2046);
    assert.equal(cache.get(390), 691);
    cache.put(464, 3055);
    cache.put(652, 2060);
    assert.equal(cache.get(742), null);
    assert.equal(cache.get(856), 1281);
    assert.equal(cache.get(394), 2558);
    assert.equal(cache.get(1308), null);
    cache.put(511, 714);
    cache.put(12, 2780);
    cache.put(935, 2484);
    cache.put(1184, 2305);
    assert.equal(cache.get(488), 1558);
    cache.put(121, 2576);
    assert.equal(cache.get(121), 2576);
    assert.equal(cache.get(168), 1626);
    cache.put(50, 867);
    cache.put(1063, 2961);
    cache.put(1198, 693);
    cache.put(921, 520);
    assert.equal(cache.get(38), 891);
    cache.put(151, 1235);
    cache.put(332, 1561);
    cache.put(1203, 3090);
    cache.put(604, 1337);
    cache.put(1229, 2311);
    cache.put(1201, 1547);
    assert.equal(cache.get(2), 291);
    assert.equal(cache.get(825), 2722);
    assert.equal(cache.get(1026), null);
    cache.put(1241, 922);
    cache.put(939, 1307);
    assert.equal(cache.get(945), 1689);
    cache.put(744, 1353);
    cache.put(612, 2530);
    assert.equal(cache.get(433), null);
    assert.equal(cache.get(113), 1133);
    assert.equal(cache.get(1400), 994);
    cache.put(1066, 1444);
    cache.put(865, 554);
    assert.equal(cache.get(427), null);
    cache.put(567, 754);
    cache.put(566, 2598);
    cache.put(1270, 1020);
    assert.equal(cache.get(1001), null);
    cache.put(886, 2096);
    cache.put(64, 927);
    assert.equal(cache.get(993), 2471);
    cache.put(1209, 1831);
    cache.put(666, 1244);
    cache.put(471, 936);
    assert.equal(cache.get(627), null);
    assert.equal(cache.get(469), 1569);
    assert.equal(cache.get(305), 2344);
    cache.put(1193, 2559);
    cache.put(702, 1701);
    assert.equal(cache.get(52), 152);
    assert.equal(cache.get(941), 2093);
    cache.put(1209, 2829);
    assert.equal(cache.get(1261), 1192);
    cache.put(260, 989);
    cache.put(1292, 1544);
    assert.equal(cache.get(610), 1639);
    cache.put(616, 3231);
    cache.put(268, 695);
    cache.put(780, 2624);
    cache.put(547, 3091);
    cache.put(274, 3124);
    cache.put(651, 720);
    assert.equal(cache.get(1135), 1485);
    assert.equal(cache.get(682), 2042);
    cache.put(147, 3126);
    assert.equal(cache.get(218), 2871);
    cache.put(998, 126);
    cache.put(1210, 893);
    assert.equal(cache.get(1097), 1473);
    assert.equal(cache.get(35), 3025);
    assert.equal(cache.get(1398), 279);
    cache.put(825, 2990);
    assert.equal(cache.get(1121), null);
    assert.equal(cache.get(955), null);
    cache.put(1038, 2019);
    cache.put(683, 1567);
    cache.put(17, 2559);
    assert.equal(cache.get(1276), null);
    cache.put(316, 2055);
    assert.equal(cache.get(140), 2904);
    cache.put(1117, 216);
    cache.put(1050, 976);
    assert.equal(cache.get(1372), 1944);
    cache.put(1185, 1669);
    cache.put(894, 948);
    assert.equal(cache.get(160), 2550);
    cache.put(760, 2746);
    cache.put(758, 2313);
    assert.equal(cache.get(894), 948);
    cache.put(960, 548);
    assert.equal(cache.get(1163), 291);
    cache.put(950, 2059);
    assert.equal(cache.get(562), 1003);
    cache.put(97, 1632);
    cache.put(1113, 1032);
    cache.put(1230, 3202);
    cache.put(719, 2234);
    cache.put(114, 1758);
    cache.put(348, 1974);
    assert.equal(cache.get(732), null);
    assert.equal(cache.get(643), 1659);
    assert.equal(cache.get(113), 1133);
    cache.put(1150, 1167);
    cache.put(995, 221);
    cache.put(1200, 1584);
    assert.equal(cache.get(1318), 2900);
    assert.equal(cache.get(219), 2034);
    cache.put(561, 2470);
    cache.put(217, 3168);
    assert.equal(cache.get(149), 461);
    cache.put(820, 2241);
    cache.put(661, 924);
    assert.equal(cache.get(1088), 1408);
    assert.equal(cache.get(447), 57);
    assert.equal(cache.get(660), null);
    assert.equal(cache.get(52), 152);
    cache.put(646, 1427);
    cache.put(373, 1077);
    cache.put(1324, 118);
    cache.put(83, 2454);
    assert.equal(cache.get(92), 3176);
    assert.equal(cache.get(665), null);
    cache.put(820, 1458);
    assert.equal(cache.get(465), 755);
    assert.equal(cache.get(262), null);
    cache.put(402, 2895);
    assert.equal(cache.get(147), 3126);
    cache.put(1358, 2064);
    cache.put(1088, 1186);
    assert.equal(cache.get(799), null);
    cache.put(1270, 2433);
    assert.equal(cache.get(995), 221);
    cache.put(964, 258);
    assert.equal(cache.get(256), 1605);
    assert.equal(cache.get(1117), 216);
    assert.equal(cache.get(1214), 2826);
    cache.put(227, 1393);
    cache.put(273, 1321);
    assert.equal(cache.get(439), 2280);
    assert.equal(cache.get(852), 339);
    assert.equal(cache.get(524), 1464);
    assert.equal(cache.get(740), 3148);
    assert.equal(cache.get(145), 545);
    cache.put(370, 1201);
    assert.equal(cache.get(479), null);
    assert.equal(cache.get(133), 2666);
    cache.put(1219, 624);
    assert.equal(cache.get(78), null);
    cache.put(100, 118);
    cache.put(832, 1838);
    cache.put(850, 2846);
    cache.put(1394, 2459);
    cache.put(1304, 1892);
    assert.equal(cache.get(374), 1215);
    assert.equal(cache.get(561), 2470);
    assert.equal(cache.get(904), 2183);
    cache.put(1119, 2781);
    assert.equal(cache.get(825), 2990);
    cache.put(1383, 3284);
    cache.put(1120, 2714);
    assert.equal(cache.get(427), null);
    assert.equal(cache.get(1236), null);
    assert.equal(cache.get(759), 879);
    cache.put(278, 381);
    cache.put(641, 2882);
    assert.equal(cache.get(772), 3240);
    cache.put(415, 2714);
    cache.put(1247, 59);
    assert.equal(cache.get(1240), 658);
    assert.equal(cache.get(1330), 1828);
    assert.equal(cache.get(1204), 2371);
    cache.put(452, 3034);
    assert.equal(cache.get(5), null);
    assert.equal(cache.get(712), 287);
    cache.put(714, 354);
    assert.equal(cache.get(1297), 1578);
    cache.put(1376, 86);
    assert.equal(cache.get(895), 502);
    cache.put(878, 1175);
    assert.equal(cache.get(497), 123);
    assert.equal(cache.get(367), 327);
    cache.put(1024, 1920);
    cache.put(415, 2137);
    assert.equal(cache.get(368), null);
    assert.equal(cache.get(78), null);
    cache.put(508, 1262);
    cache.put(1206, 639);
    assert.equal(cache.get(46), 2357);
    assert.equal(cache.get(869), 1802);
    assert.equal(cache.get(313), 1847);
    cache.put(1312, 1669);
    assert.equal(cache.get(886), null);
    assert.equal(cache.get(330), 1067);
    assert.equal(cache.get(920), 1210);
    cache.put(914, 927);
    cache.put(344, 847);
    assert.equal(cache.get(631), 807);
    assert.equal(cache.get(256), 1605);
    cache.put(1195, 2746);
    cache.put(411, 2506);
    assert.equal(cache.get(729), 2892);
    cache.put(887, 1152);
    cache.put(602, 3182);
    cache.put(984, 2962);
    assert.equal(cache.get(598), 453);
    cache.put(791, 851);
    assert.equal(cache.get(833), 1244);
    cache.put(1072, 1907);
    cache.put(1126, 2397);
    assert.equal(cache.get(548), 24);
    cache.put(958, 1778);
    cache.put(708, 840);
    cache.put(663, 2734);
    cache.put(42, 2052);
    cache.put(937, 1083);
    assert.equal(cache.get(439), 2280);
    cache.put(827, 108);
    cache.put(1077, 789);
    assert.equal(cache.get(34), 883);
    cache.put(872, 1123);
    cache.put(1221, 3218);
    assert.equal(cache.get(456), 3053);
    cache.put(134, 2223);
    cache.put(671, 3271);
    cache.put(86, 1525);
    cache.put(1417, 189);
    cache.put(230, 1667);
    assert.equal(cache.get(589), null);
    cache.put(299, 1134);
    cache.put(1099, 2070);
    cache.put(598, 2018);
    cache.put(376, 977);
    cache.put(395, 1426);
    assert.equal(cache.get(1245), null);
    cache.put(662, 3);
    assert.equal(cache.get(903), null);
    assert.equal(cache.get(833), 1244);
    cache.put(1229, 1265);
    assert.equal(cache.get(181), 788);
    assert.equal(cache.get(233), null);
    assert.equal(cache.get(868), 2803);
    cache.put(1009, 1559);
    cache.put(728, 2428);
    cache.put(707, 172);
    assert.equal(cache.get(643), 1659);
    cache.put(884, 2688);
    assert.equal(cache.get(928), 665);
    assert.equal(cache.get(863), 20);
    assert.equal(cache.get(805), null);
    assert.equal(cache.get(1053), 3129);
    cache.put(1179, 2397);
    cache.put(1287, 2704);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(66), 380);
    cache.put(1326, 3056);
    cache.put(1181, 707);
    cache.put(749, 1506);
    cache.put(1009, 118);
    assert.equal(cache.get(900), 2427);
    cache.put(1349, 1277);
    cache.put(834, 2714);
    cache.put(757, 626);
    cache.put(989, 474);
    assert.equal(cache.get(485), null);
    cache.put(1183, 1403);
    cache.put(395, 2585);
    cache.put(1316, 2513);
    cache.put(1336, 2327);
    assert.equal(cache.get(507), 2760);
    cache.put(1243, 552);
    cache.put(1185, 29);
    cache.put(38, 1312);
    cache.put(415, 1379);
    assert.equal(cache.get(618), 79);
    cache.put(1086, 375);
    cache.put(736, 2999);
    cache.put(1263, 239);
    cache.put(105, 897);
    cache.put(532, 907);
    assert.equal(cache.get(194), 2944);
    assert.equal(cache.get(1081), 1337);
    cache.put(593, 1614);
    assert.equal(cache.get(106), null);
    cache.put(453, 312);
    cache.put(739, 1933);
    cache.put(650, 1011);
    cache.put(818, 1839);
    cache.put(698, 680);
    assert.equal(cache.get(105), 897);
    assert.equal(cache.get(963), 397);
    cache.put(85, 174);
    cache.put(545, 2044);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(1083), null);
    assert.equal(cache.get(1376), null);
    cache.put(1037, 738);
    assert.equal(cache.get(1047), 288);
    cache.put(1369, 2864);
    assert.equal(cache.get(885), 1280);
    cache.put(218, 856);
    assert.equal(cache.get(620), 1988);
    cache.put(1106, 2376);
    cache.put(141, 957);
    cache.put(1327, 1847);
    cache.put(719, 2807);
    cache.put(990, 1236);
    assert.equal(cache.get(1040), 2228);
    assert.equal(cache.get(872), 1123);
    cache.put(1221, 1297);
    assert.equal(cache.get(574), 2772);
    assert.equal(cache.get(1051), 2442);
    cache.put(633, 1007);
    cache.put(1358, 2163);
    cache.put(406, 1281);
    cache.put(1029, 462);
    cache.put(975, 2878);
    assert.equal(cache.get(1410), 159);
    assert.equal(cache.get(163), null);
    assert.equal(cache.get(784), 1234);
    cache.put(512, 1242);
    cache.put(454, 2556);
    cache.put(880, 2141);
    cache.put(216, 2313);
    cache.put(343, 3211);
    assert.equal(cache.get(909), 2815);
    cache.put(1331, 2872);
    assert.equal(cache.get(1372), 1944);
    cache.put(646, 3171);
    assert.equal(cache.get(745), 2010);
    cache.put(139, 1840);
    cache.put(1160, 2021);
    cache.put(1241, 2627);
    assert.equal(cache.get(1130), 210);
    cache.put(857, 1377);
    cache.put(332, 1754);
    cache.put(414, 607);
    cache.put(539, 2148);
    assert.equal(cache.get(1219), 624);
    assert.equal(cache.get(325), 1319);
    cache.put(1327, 2566);
    cache.put(831, 2844);
    cache.put(572, 2452);
    assert.equal(cache.get(940), 385);
    cache.put(280, 2103);
    assert.equal(cache.get(210), 2868);
    cache.put(306, 1269);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(1085), 2793);
    assert.equal(cache.get(745), 2010);
    cache.put(403, 730);
    assert.equal(cache.get(1092), 2774);
    cache.put(646, 2537);
    cache.put(534, 111);
    assert.equal(cache.get(307), 736);
    cache.put(1224, 3063);
    cache.put(882, 50);
    assert.equal(cache.get(1150), 1167);
    assert.equal(cache.get(674), 2418);
    cache.put(320, 3118);
    cache.put(1340, 1071);
    assert.equal(cache.get(1292), 1544);
    cache.put(14, 1548);
    cache.put(1222, 102);
    cache.put(83, 966);
    cache.put(1391, 378);
    assert.equal(cache.get(528), null);
    assert.equal(cache.get(862), 1581);
    assert.equal(cache.get(145), 545);
    assert.equal(cache.get(564), null);
    cache.put(231, 131);
    assert.equal(cache.get(298), null);
    cache.put(36, 2902);
    cache.put(119, 2706);
    assert.equal(cache.get(549), 2780);
    cache.put(1050, 2469);
    assert.equal(cache.get(244), 860);
    assert.equal(cache.get(589), null);
    cache.put(685, 947);
    cache.put(1036, 1403);
    assert.equal(cache.get(1130), 210);
    cache.put(941, 3303);
    cache.put(758, 933);
    cache.put(1170, 784);
    assert.equal(cache.get(244), 860);
    cache.put(1374, 2158);
    cache.put(751, 2987);
    assert.equal(cache.get(1415), 2220);
    assert.equal(cache.get(12), 2780);
    cache.put(325, 1795);
    cache.put(1022, 92);
    assert.equal(cache.get(897), 903);
    cache.put(1424, 651);
    assert.equal(cache.get(937), 1083);
    cache.put(303, 1972);
    assert.equal(cache.get(966), 2364);
    assert.equal(cache.get(1410), 159);
    cache.put(943, 1457);
    cache.put(107, 1042);
    assert.equal(cache.get(1406), 1643);
    assert.equal(cache.get(194), 2944);
    assert.equal(cache.get(874), null);
    assert.equal(cache.get(101), 2076);
    cache.put(246, 2474);
    cache.put(1323, 2268);
    assert.equal(cache.get(747), 68);
    cache.put(496, 832);
    cache.put(1047, 959);
    cache.put(967, 570);
    assert.equal(cache.get(741), 2205);
    assert.equal(cache.get(531), 1300);
    cache.put(486, 196);
    assert.equal(cache.get(790), null);
    assert.equal(cache.get(1195), 2746);
    cache.put(928, 1282);
    assert.equal(cache.get(1127), 1457);
    assert.equal(cache.get(1376), null);
    assert.equal(cache.get(1310), 3070);
    assert.equal(cache.get(822), 1488);
    cache.put(1273, 918);
    assert.equal(cache.get(1210), null);
    cache.put(888, 2348);
    assert.equal(cache.get(557), 1001);
    assert.equal(cache.get(1414), 2192);
    assert.equal(cache.get(1045), 1513);
    cache.put(125, 1957);
    cache.put(310, 934);
    assert.equal(cache.get(82), 509);
    assert.equal(cache.get(816), null);
    cache.put(453, 3213);
    cache.put(502, 1015);
    cache.put(33, 97);
    cache.put(93, 754);
    assert.equal(cache.get(105), 897);
    cache.put(255, 985);
    cache.put(74, 930);
    cache.put(378, 1032);
    assert.equal(cache.get(1029), 462);
    assert.equal(cache.get(425), 2414);
    assert.equal(cache.get(804), 2834);
    cache.put(162, 2352);
    assert.equal(cache.get(1246), 1391);
    assert.equal(cache.get(128), null);
    assert.equal(cache.get(1112), null);
    cache.put(304, 3195);
    cache.put(496, 423);
    cache.put(641, 2275);
    assert.equal(cache.get(20), 3014);
    assert.equal(cache.get(1302), 3010);
    assert.equal(cache.get(1097), 1473);
    assert.equal(cache.get(95), null);
    cache.put(814, 196);
    assert.equal(cache.get(942), 128);
    cache.put(1041, 1986);
    assert.equal(cache.get(48), 2118);
    assert.equal(cache.get(477), 38);
    assert.equal(cache.get(434), 1569);
    cache.put(1223, 60);
    cache.put(1018, 820);
    assert.equal(cache.get(328), 2333);
    cache.put(1334, 2678);
    cache.put(554, 572);
    assert.equal(cache.get(1270), 2433);
    cache.put(1209, 2089);
    cache.put(869, 849);
    cache.put(260, 543);
    cache.put(699, 1302);
    assert.equal(cache.get(251), 80);
    cache.put(1296, 1991);
    cache.put(632, 2203);
    cache.put(738, 2773);
    cache.put(1024, 2689);
    cache.put(1154, 2623);
    cache.put(1379, 2353);
    cache.put(223, 765);
    cache.put(628, 3024);
    cache.put(1325, 1458);
    cache.put(946, 1148);
    assert.equal(cache.get(1104), null);
    assert.equal(cache.get(1184), null);
    assert.equal(cache.get(130), 3222);
    assert.equal(cache.get(413), 3144);
    assert.equal(cache.get(855), 3141);
    cache.put(363, 253);
    assert.equal(cache.get(89), 465);
    cache.put(889, 777);
    assert.equal(cache.get(1014), 1079);
    assert.equal(cache.get(20), 3014);
    assert.equal(cache.get(253), 2806);
    cache.put(588, 2255);
    assert.equal(cache.get(1159), 1665);
    cache.put(302, 765);
    assert.equal(cache.get(88), 2242);
    assert.equal(cache.get(614), 1021);
    cache.put(892, 3112);
    cache.put(266, 3029);
    cache.put(700, 1991);
    cache.put(438, 2433);
    cache.put(318, 2602);
    assert.equal(cache.get(1429), 2156);
    assert.equal(cache.get(118), 298);
    cache.put(260, 2051);
    cache.put(1336, 388);
    assert.equal(cache.get(298), null);
    cache.put(880, 1090);
    cache.put(1408, 1969);
    assert.equal(cache.get(227), 1393);
    cache.put(43, 1830);
    cache.put(845, 1361);
    assert.equal(cache.get(573), 2734);
    cache.put(870, 248);
    assert.equal(cache.get(633), 1007);
    assert.equal(cache.get(478), 2377);
    cache.put(1371, 711);
    assert.equal(cache.get(350), 2933);
    cache.put(866, 2651);
    cache.put(934, 1070);
    cache.put(289, 2185);
    cache.put(1023, 2262);
    cache.put(1339, 1464);
    assert.equal(cache.get(40), 3000);
    assert.equal(cache.get(764), null);
    assert.equal(cache.get(716), 2809);
    assert.equal(cache.get(952), 2706);
    cache.put(974, 3297);
    assert.equal(cache.get(1014), 1079);
    assert.equal(cache.get(440), 1054);
    assert.equal(cache.get(1296), 1991);
    cache.put(950, 403);
    cache.put(926, 1870);
    cache.put(835, 2946);
    cache.put(1124, 627);
    assert.equal(cache.get(852), 339);
    assert.equal(cache.get(242), null);
    assert.equal(cache.get(1398), 279);
    cache.put(911, 498);
    assert.equal(cache.get(1001), null);
    cache.put(1059, 2653);
    cache.put(551, 2230);
    assert.equal(cache.get(552), 226);
    cache.put(938, 1235);
    assert.equal(cache.get(389), 2568);
    cache.put(1064, 2448);
    cache.put(59, 1336);
    assert.equal(cache.get(1157), 1126);
    assert.equal(cache.get(1160), 2021);
    cache.put(266, 2334);
    assert.equal(cache.get(728), null);
    cache.put(863, 1435);
    assert.equal(cache.get(572), 2452);
    cache.put(38, 3024);
    cache.put(437, 2425);
    cache.put(1329, 605);
    cache.put(1110, 3181);
    cache.put(1282, 3031);
    cache.put(742, 2150);
    cache.put(466, 136);
    assert.equal(cache.get(1136), 3009);
    cache.put(695, 1556);
    cache.put(253, 2215);
    assert.equal(cache.get(156), 1786);
    assert.equal(cache.get(762), null);
    cache.put(520, 2168);
    assert.equal(cache.get(1255), 1486);
    cache.put(1176, 1135);
    cache.put(771, 2131);
    assert.equal(cache.get(1149), 824);
    cache.put(607, 874);
    cache.put(648, 2437);
    assert.equal(cache.get(758), 933);
    cache.put(506, 2691);
    cache.put(1186, 1138);
    cache.put(169, 507);
    cache.put(1241, 2599);
    assert.equal(cache.get(190), 2737);
    cache.put(476, 2600);
    assert.equal(cache.get(260), null);
    assert.equal(cache.get(1205), 1424);
    assert.equal(cache.get(136), null);
    cache.put(1091, 1254);
    assert.equal(cache.get(655), null);
    assert.equal(cache.get(1065), 2123);
    cache.put(408, 213);
    cache.put(699, 1874);
    cache.put(60, 644);
    assert.equal(cache.get(399), 1872);
    assert.equal(cache.get(920), 1210);
    assert.equal(cache.get(677), 91);
    cache.put(871, 1246);
    cache.put(739, 1439);
    assert.equal(cache.get(282), 3217);
    assert.equal(cache.get(152), 2472);
    assert.equal(cache.get(1176), 1135);
    cache.put(1238, 3089);
    cache.put(91, 920);
    cache.put(698, 2069);
    cache.put(1398, 371);
    cache.put(828, 1503);
    assert.equal(cache.get(169), 507);
    cache.put(1273, 3023);
    assert.equal(cache.get(637), 791);
    assert.equal(cache.get(472), 1847);
    assert.equal(cache.get(540), 2318);
    assert.equal(cache.get(1211), 3302);
    assert.equal(cache.get(263), null);
    assert.equal(cache.get(135), 1151);
    cache.put(224, 3159);
    assert.equal(cache.get(1195), 2746);
    assert.equal(cache.get(939), 1307);
    assert.equal(cache.get(640), 1262);
    cache.put(755, 2291);
    cache.put(924, 3224);
    cache.put(181, 792);
    cache.put(149, 2396);
    cache.put(705, 1421);
    cache.put(1347, 1927);
    assert.equal(cache.get(132), 2160);
    assert.equal(cache.get(841), 128);
    cache.put(262, 3060);
    assert.equal(cache.get(809), 2376);
    cache.put(685, 1072);
    cache.put(441, 2572);
    cache.put(1263, 2143);
    cache.put(402, 2283);
    cache.put(156, 553);
    cache.put(896, 659);
    cache.put(1253, 2175);
    assert.equal(cache.get(525), 761);
    assert.equal(cache.get(378), null);
    cache.put(339, 2391);
    cache.put(1266, 35);
    assert.equal(cache.get(437), 2425);
    assert.equal(cache.get(526), 514);
    assert.equal(cache.get(1198), null);
    cache.put(782, 195);
    cache.put(838, 2869);
    cache.put(503, 1008);
    assert.equal(cache.get(72), null);
    assert.equal(cache.get(978), 2208);
    assert.equal(cache.get(1228), 1149);
    assert.equal(cache.get(1000), 2440);
    cache.put(30, 1131);
    cache.put(479, 1858);
    cache.put(160, 386);
    cache.put(842, 471);
    assert.equal(cache.get(934), 1070);
    cache.put(981, 1773);
    cache.put(141, 2990);
    cache.put(905, 1661);
    assert.equal(cache.get(1260), null);
    cache.put(1006, 423);
    assert.equal(cache.get(1156), 1492);
    assert.equal(cache.get(6), null);
    cache.put(834, 1003);
    assert.equal(cache.get(204), 1269);
    cache.put(1330, 233);
    assert.equal(cache.get(1033), 2987);
    cache.put(770, 3224);
    cache.put(1277, 1111);
    assert.equal(cache.get(976), 1245);
    assert.equal(cache.get(1169), 418);
    cache.put(1093, 1764);
    cache.put(774, 1133);
    cache.put(278, 314);
    assert.equal(cache.get(679), 2195);
    assert.equal(cache.get(1400), 994);
    assert.equal(cache.get(1314), 875);
    cache.put(919, 23);
    assert.equal(cache.get(7), 3251);
    cache.put(163, 1670);
    cache.put(702, 2772);
    assert.equal(cache.get(529), 2522);
    cache.put(47, 2411);
    assert.equal(cache.get(874), null);
    assert.equal(cache.get(600), 765);
    assert.equal(cache.get(765), null);
    cache.put(879, 1373);
    cache.put(688, 191);
    cache.put(1340, 570);
    cache.put(231, 566);
    cache.put(757, 3064);
    assert.equal(cache.get(460), 2098);
    assert.equal(cache.get(897), 903);
    cache.put(922, 3266);
    assert.equal(cache.get(640), 1262);
    assert.equal(cache.get(143), null);
    cache.put(488, 726);
    assert.equal(cache.get(1149), 824);
    assert.equal(cache.get(1267), 2839);
    assert.equal(cache.get(18), 2282);
    cache.put(613, 380);
    cache.put(1053, 53);
    cache.put(1168, 1995);
    assert.equal(cache.get(101), 2076);
    cache.put(48, 1340);
    assert.equal(cache.get(1422), 2828);
    assert.equal(cache.get(983), 1909);
    assert.equal(cache.get(1176), 1135);
    assert.equal(cache.get(3), 1847);
    assert.equal(cache.get(775), 364);
    assert.equal(cache.get(509), 356);
    cache.put(47, 495);
    assert.equal(cache.get(318), 2602);
    cache.put(228, 1092);
    cache.put(1224, 1879);
    assert.equal(cache.get(297), 1442);
    assert.equal(cache.get(26), 3054);
    assert.equal(cache.get(238), 1181);
    assert.equal(cache.get(1050), 2469);
    cache.put(528, 1220);
    assert.equal(cache.get(758), 933);
    assert.equal(cache.get(269), 3297);
    assert.equal(cache.get(404), 1843);
    assert.equal(cache.get(602), 3182);
    cache.put(609, 2212);
    cache.put(1089, 1385);
    cache.put(5, 1139);
    cache.put(1035, 3104);
    cache.put(473, 3003);
    cache.put(1305, 3064);
    cache.put(354, 460);
    assert.equal(cache.get(598), 2018);
    cache.put(606, 977);
    assert.equal(cache.get(1249), 2295);
    cache.put(733, 1399);
    assert.equal(cache.get(156), 553);
    cache.put(712, 734);
    assert.equal(cache.get(1171), 1299);
    assert.equal(cache.get(940), 385);
    assert.equal(cache.get(1242), null);
    cache.put(1051, 2332);
    cache.put(857, 666);
    cache.put(870, 3062);
    cache.put(1417, 299);
    cache.put(904, 195);
    cache.put(1365, 639);
    cache.put(353, 952);
    assert.equal(cache.get(1136), 3009);
    cache.put(454, 2854);
    cache.put(504, 2164);
    cache.put(942, 2793);
    assert.equal(cache.get(1250), 1345);
    cache.put(307, 887);
    assert.equal(cache.get(1082), 2986);
    assert.equal(cache.get(1228), 1149);
    cache.put(772, 1074);
    cache.put(1173, 1106);
    assert.equal(cache.get(394), 2558);
    cache.put(656, 3180);
    assert.equal(cache.get(1239), null);
    assert.equal(cache.get(449), 676);
    assert.equal(cache.get(1414), 2192);
    cache.put(531, 1744);
    cache.put(1019, 1704);
    cache.put(600, 2007);
    assert.equal(cache.get(1373), null);
    cache.put(1318, 2422);
    cache.put(998, 452);
    cache.put(1305, 2420);
    assert.equal(cache.get(692), 1393);
    cache.put(186, 1140);
    cache.put(908, 2403);
    cache.put(1353, 1087);
    cache.put(719, 1702);
    cache.put(841, 2557);
    cache.put(1311, 1083);
    assert.equal(cache.get(647), 2687);
    assert.equal(cache.get(98), 2580);
    assert.equal(cache.get(1363), 1487);
    cache.put(847, 590);
    cache.put(570, 553);
    cache.put(1076, 2920);
    cache.put(911, 1463);
    cache.put(1206, 1822);
    assert.equal(cache.get(1114), null);
    assert.equal(cache.get(1104), null);
    assert.equal(cache.get(160), 386);
    cache.put(1204, 434);
    cache.put(1212, 3090);
    cache.put(1373, 2737);
    cache.put(551, 329);
    cache.put(1155, 25);
    cache.put(1011, 2999);
    assert.equal(cache.get(1295), 2252);
    assert.equal(cache.get(577), null);
    cache.put(69, 2868);
    cache.put(280, 233);
    assert.equal(cache.get(382), 2582);
    cache.put(716, 563);
    assert.equal(cache.get(596), 1060);
    cache.put(376, 850);
    cache.put(1355, 568);
    cache.put(626, 525);
    cache.put(1289, 1632);
    cache.put(1291, 855);
    assert.equal(cache.get(907), 1257);
    assert.equal(cache.get(461), 1647);
    cache.put(939, 191);
    cache.put(1017, 1768);
    cache.put(1177, 2890);
    cache.put(628, 1481);
    cache.put(594, 2828);
    assert.equal(cache.get(226), 3075);
    cache.put(353, 1864);
    assert.equal(cache.get(519), 1282);
    cache.put(946, 270);
    cache.put(966, 2106);
    assert.equal(cache.get(1375), 3256);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(717), 571);
    assert.equal(cache.get(1278), 2366);
    cache.put(587, 2339);
    cache.put(46, 128);
    assert.equal(cache.get(1078), null);
    cache.put(145, 807);
    cache.put(745, 1072);
    assert.equal(cache.get(318), 2602);
    cache.put(1355, 1179);
    assert.equal(cache.get(669), 3105);
    assert.equal(cache.get(1279), 793);
    assert.equal(cache.get(207), 824);
    cache.put(298, 1819);
    assert.equal(cache.get(651), 720);
    cache.put(27, 472);
    cache.put(1368, 598);
    cache.put(1096, 3026);
    assert.equal(cache.get(412), 2842);
    assert.equal(cache.get(987), 3275);
    cache.put(523, 2884);
    assert.equal(cache.get(480), null);
    assert.equal(cache.get(51), null);
    assert.equal(cache.get(182), 2544);
    cache.put(1152, 1990);
    cache.put(60, 2235);
    assert.equal(cache.get(693), 2195);
    cache.put(1383, 720);
    cache.put(71, 3214);
    cache.put(570, 1);
    cache.put(1365, 2513);
    assert.equal(cache.get(557), 1001);
    cache.put(1334, 2268);
    cache.put(1217, 1184);
    assert.equal(cache.get(798), 1183);
    cache.put(214, 2623);
    cache.put(622, 2398);
    assert.equal(cache.get(674), 2418);
    assert.equal(cache.get(1090), 3100);
    assert.equal(cache.get(204), 1269);
    assert.equal(cache.get(571), 2601);
    cache.put(1400, 980);
    cache.put(900, 2072);
    cache.put(635, 1722);
    assert.equal(cache.get(904), 195);
    assert.equal(cache.get(1243), 552);
    assert.equal(cache.get(270), 1617);
    cache.put(1253, 22);
    cache.put(1243, 1460);
    cache.put(1099, 101);
    assert.equal(cache.get(1224), 1879);
    cache.put(1411, 2910);
    cache.put(1271, 1402);
    cache.put(645, 600);
    assert.equal(cache.get(50), null);
    assert.equal(cache.get(1038), 2019);
    cache.put(123, 2910);
    assert.equal(cache.get(1167), null);
    cache.put(1123, 1033);
    assert.equal(cache.get(210), 2868);
    cache.put(1124, 2917);
    cache.put(73, 794);
    cache.put(240, 2342);
    cache.put(1098, 2993);
    assert.equal(cache.get(715), 585);
    cache.put(91, 283);
    cache.put(753, 1619);
    cache.put(928, 1943);
    cache.put(248, 2944);
    assert.equal(cache.get(851), null);
    assert.equal(cache.get(354), 460);
    cache.put(979, 632);
    cache.put(1373, 809);
    assert.equal(cache.get(718), null);
    assert.equal(cache.get(26), 3054);
    assert.equal(cache.get(499), 2869);
    assert.equal(cache.get(1030), 346);
    assert.equal(cache.get(284), 3214);
    cache.put(1143, 2268);
    cache.put(290, 647);
    cache.put(25, 2029);
    cache.put(462, 418);
    cache.put(1065, 1741);
    cache.put(882, 903);
    cache.put(155, 853);
    assert.equal(cache.get(816), null);
    cache.put(605, 2230);
    assert.equal(cache.get(826), 1176);
    assert.equal(cache.get(992), 928);
    cache.put(1, 1620);
    cache.put(1304, 687);
    cache.put(971, 1062);
    cache.put(798, 516);
    assert.equal(cache.get(1242), null);
    cache.put(222, 2374);
    cache.put(146, 557);
    assert.equal(cache.get(1407), 1825);
    assert.equal(cache.get(961), 1122);
    cache.put(1409, 2898);
    assert.equal(cache.get(707), 172);
    assert.equal(cache.get(771), 2131);
    assert.equal(cache.get(321), 2748);
    assert.equal(cache.get(1092), 2774);
    assert.equal(cache.get(1008), 1119);
    cache.put(933, 617);
    assert.equal(cache.get(220), 1589);
    assert.equal(cache.get(100), 118);
    assert.equal(cache.get(540), 2318);
    cache.put(1417, 251);
    cache.put(527, 1635);
    cache.put(1386, 1955);
    cache.put(639, 403);
    assert.equal(cache.get(1253), 22);
    assert.equal(cache.get(621), null);
    assert.equal(cache.get(1324), 118);
    assert.equal(cache.get(955), null);
    assert.equal(cache.get(230), 1667);
    assert.equal(cache.get(1338), 2397);
    cache.put(1399, 2165);
    assert.equal(cache.get(143), null);
    cache.put(814, 1107);
    assert.equal(cache.get(247), 622);
    assert.equal(cache.get(1134), 2718);
    assert.equal(cache.get(1069), 2758);
    cache.put(1351, 1833);
    assert.equal(cache.get(637), 791);
    cache.put(1410, 1473);
    assert.equal(cache.get(538), null);
    assert.equal(cache.get(971), 1062);
    cache.put(1214, 3217);
    assert.equal(cache.get(170), 2556);
    cache.put(1054, 233);
    cache.put(919, 1267);
    cache.put(325, 1528);
    assert.equal(cache.get(447), 57);
    cache.put(919, 2244);
    cache.put(73, 167);
    cache.put(430, 1906);
    cache.put(1083, 589);
    cache.put(1132, 279);
    assert.equal(cache.get(876), null);
    assert.equal(cache.get(1189), 1341);
    assert.equal(cache.get(1279), 793);
    cache.put(1191, 3175);
    assert.equal(cache.get(505), 1948);
    assert.equal(cache.get(139), 1840);
    assert.equal(cache.get(786), null);
    cache.put(818, 2691);
    assert.equal(cache.get(13), 2431);
    cache.put(222, 791);
    cache.put(277, 932);
    assert.equal(cache.get(1008), 1119);
    assert.equal(cache.get(89), 465);
    assert.equal(cache.get(101), 2076);
    cache.put(512, 754);
    assert.equal(cache.get(864), 141);
    assert.equal(cache.get(649), null);
    assert.equal(cache.get(1052), 1241);
    assert.equal(cache.get(987), 3275);
    assert.equal(cache.get(1216), 510);
    cache.put(1394, 1995);
    assert.equal(cache.get(375), 503);
    assert.equal(cache.get(1338), 2397);
    cache.put(276, 2215);
    cache.put(184, 2525);
    cache.put(853, 301);
    cache.put(1430, 2334);
    assert.equal(cache.get(1381), 1987);
    cache.put(1251, 1784);
    assert.equal(cache.get(223), 765);
    cache.put(1221, 1058);
    assert.equal(cache.get(483), 1128);
    assert.equal(cache.get(1210), null);
    assert.equal(cache.get(1372), 1944);
    cache.put(1378, 278);
    cache.put(98, 2996);
    cache.put(161, 1205);
    cache.put(805, 1608);
    cache.put(1398, 1033);
    cache.put(1424, 940);
    assert.equal(cache.get(526), 514);
    assert.equal(cache.get(542), 55);
    assert.equal(cache.get(659), 645);
    cache.put(229, 186);
    assert.equal(cache.get(110), null);
    cache.put(800, 1817);
    cache.put(922, 3154);
    cache.put(1380, 2681);
    cache.put(850, 3090);
    cache.put(108, 131);
    assert.equal(cache.get(608), null);
    assert.equal(cache.get(401), 1398);
    cache.put(1084, 227);
    cache.put(1030, 3126);
    cache.put(216, 571);
    assert.equal(cache.get(660), null);
    assert.equal(cache.get(2), 291);
    assert.equal(cache.get(1272), 272);
    cache.put(1166, 1796);
    cache.put(889, 24);
    assert.equal(cache.get(406), 1281);
    cache.put(1253, 2855);
    assert.equal(cache.get(277), 932);
    cache.put(688, 2429);
    cache.put(1238, 1813);
    cache.put(1184, 1043);
    cache.put(553, 217);
    assert.equal(cache.get(1340), 570);
    cache.put(792, 2441);
    cache.put(279, 2154);
    cache.put(52, 232);
    cache.put(859, 89);
    cache.put(1422, 847);
    cache.put(940, 989);
    cache.put(27, 226);
    cache.put(239, 965);
    cache.put(774, 3125);
    cache.put(1074, 31);
    assert.equal(cache.get(462), null);
    assert.equal(cache.get(252), 2358);
    cache.put(1400, 3119);
    assert.equal(cache.get(782), 195);
    cache.put(1145, 589);
    cache.put(57, 2057);
    cache.put(118, 515);
    assert.equal(cache.get(391), 1746);
    assert.equal(cache.get(1186), 1138);
    assert.equal(cache.get(984), 2962);
    cache.put(477, 1254);
    cache.put(822, 870);
    cache.put(26, 1961);
    assert.equal(cache.get(894), 948);
    cache.put(143, 780);
    cache.put(590, 375);
    cache.put(415, 1382);
    cache.put(474, 1142);
    cache.put(1275, 64);
    assert.equal(cache.get(544), 2580);
    assert.equal(cache.get(104), 1796);
    cache.put(634, 806);
    assert.equal(cache.get(1273), null);
    assert.equal(cache.get(1410), 1473);
    assert.equal(cache.get(669), 3105);
    cache.put(265, 704);
    assert.equal(cache.get(470), 2097);
    cache.put(702, 2025);
    cache.put(638, 1587);
    cache.put(141, 3213);
    assert.equal(cache.get(586), 3038);
    assert.equal(cache.get(638), 1587);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(713), null);
    cache.put(103, 1848);
    assert.equal(cache.get(607), 874);
    cache.put(1399, 2229);
    cache.put(965, 2620);
    cache.put(1359, 2413);
    cache.put(720, 150);
    cache.put(789, 1214);
    assert.equal(cache.get(1065), 1741);
    assert.equal(cache.get(587), null);
    cache.put(934, 2035);
    cache.put(855, 1027);
    cache.put(820, 279);
    assert.equal(cache.get(958), 1778);
    cache.put(1078, 339);
    assert.equal(cache.get(756), 2755);
    assert.equal(cache.get(735), 2814);
    assert.equal(cache.get(831), 2844);
    cache.put(1263, 2161);
    cache.put(270, 1463);
    cache.put(1263, 2169);
    assert.equal(cache.get(130), 3222);
    assert.equal(cache.get(326), 1838);
    cache.put(777, 1938);
    assert.equal(cache.get(789), 1214);
    cache.put(296, 501);
    assert.equal(cache.get(1430), 2334);
    cache.put(339, 1218);
    cache.put(1337, 2672);
    cache.put(1259, 2496);
    cache.put(48, 2222);
    assert.equal(cache.get(80), 1619);
    cache.put(1334, 3034);
    assert.equal(cache.get(293), null);
    assert.equal(cache.get(1334), 3034);
    cache.put(719, 1581);
    assert.equal(cache.get(19), 2810);
    assert.equal(cache.get(1176), 1135);
    cache.put(590, 1544);
    cache.put(506, 2523);
    assert.equal(cache.get(1051), 2332);
    cache.put(809, 337);
    assert.equal(cache.get(939), 191);
    cache.put(1129, 2127);
    cache.put(58, 371);
    assert.equal(cache.get(1404), 820);
    assert.equal(cache.get(290), 647);
    assert.equal(cache.get(1124), 2917);
    assert.equal(cache.get(329), 1382);
    assert.equal(cache.get(1407), 1825);
    assert.equal(cache.get(284), 3214);
    cache.put(801, 49);
    cache.put(339, 1184);
    cache.put(420, 2627);
    cache.put(699, 2794);
    assert.equal(cache.get(659), 645);
    cache.put(103, 310);
    cache.put(742, 2182);
    assert.equal(cache.get(123), null);
    cache.put(334, 2954);
    assert.equal(cache.get(640), 1262);
    cache.put(1294, 2814);
    cache.put(800, 1719);
    cache.put(812, 964);
    assert.equal(cache.get(963), 397);
    cache.put(1136, 408);
    cache.put(35, 418);
    assert.equal(cache.get(1354), 505);
    assert.equal(cache.get(1193), 2559);
    assert.equal(cache.get(562), 1003);
    cache.put(339, 2066);
    assert.equal(cache.get(475), null);
    cache.put(671, 1889);
    cache.put(1084, 3002);
    cache.put(1308, 3173);
    cache.put(462, 1257);
    assert.equal(cache.get(631), 807);
    cache.put(194, 2489);
    cache.put(1427, 2589);
    cache.put(1382, 2173);
    assert.equal(cache.get(155), null);
    cache.put(225, 787);
    cache.put(210, 2335);
    cache.put(1080, 1548);
    cache.put(634, 993);
    cache.put(142, 2876);
    cache.put(797, 2274);
    cache.put(842, 1267);
    assert.equal(cache.get(864), 141);
    cache.put(604, 1206);
    cache.put(962, 940);
    cache.put(1144, 305);
    cache.put(119, 2618);
    cache.put(1012, 318);
    assert.equal(cache.get(688), 2429);
    assert.equal(cache.get(715), 585);
    assert.equal(cache.get(1060), null);
    cache.put(1378, 2475);
    cache.put(825, 1249);
    assert.equal(cache.get(1274), 258);
    cache.put(898, 2605);
    cache.put(797, 2087);
    cache.put(897, 118);
    assert.equal(cache.get(228), 1092);
    cache.put(856, 3004);
    cache.put(966, 3226);
    cache.put(853, 2213);
    assert.equal(cache.get(14), 1548);
    cache.put(1118, 859);
    assert.equal(cache.get(701), 1604);
    assert.equal(cache.get(463), 1266);
    assert.equal(cache.get(780), 2624);
    cache.put(1269, 47);
    cache.put(930, 2195);
    cache.put(201, 715);
    cache.put(1165, 2724);
    cache.put(421, 2154);
    cache.put(47, 1527);
    cache.put(24, 1744);
    cache.put(878, 2324);
    cache.put(1126, 3101);
    cache.put(110, 2684);
    assert.equal(cache.get(281), 567);
    assert.equal(cache.get(797), 2087);
    assert.equal(cache.get(148), 2867);
    assert.equal(cache.get(688), 2429);
    cache.put(1309, 2578);
    cache.put(1043, 2689);
    cache.put(1194, 165);
    cache.put(982, 3129);
    assert.equal(cache.get(831), 2844);
    cache.put(157, 2957);
    assert.equal(cache.get(1124), 2917);
    cache.put(1096, 2900);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(753), 1619);
    assert.equal(cache.get(1324), 118);
    assert.equal(cache.get(962), 940);
    assert.equal(cache.get(449), 676);
    assert.equal(cache.get(1424), null);
    cache.put(95, 2461);
    assert.equal(cache.get(766), 754);
    cache.put(134, 2998);
    cache.put(1138, 2299);
    cache.put(454, 764);
    cache.put(1101, 2480);
    cache.put(1143, 2189);
    assert.equal(cache.get(997), 417);
    assert.equal(cache.get(965), 2620);
    cache.put(60, 3025);
    cache.put(769, 902);
    assert.equal(cache.get(695), 1556);
    cache.put(638, 3161);
    cache.put(49, 1047);
    cache.put(1198, 3290);
    cache.put(96, 3107);
    assert.equal(cache.get(1042), null);
    cache.put(1289, 2682);
    assert.equal(cache.get(494), 2275);
    cache.put(195, 324);
    assert.equal(cache.get(691), 3043);
    assert.equal(cache.get(670), 871);
    cache.put(822, 1620);
    assert.equal(cache.get(287), null);
    cache.put(246, 976);
    assert.equal(cache.get(963), 397);
    cache.put(422, 546);
    assert.equal(cache.get(1127), 1457);
    cache.put(1341, 1718);
    cache.put(1053, 2929);
    cache.put(544, 1467);
    cache.put(327, 2813);
    cache.put(934, 451);
    assert.equal(cache.get(1387), 1336);
    cache.put(535, 999);
    cache.put(707, 1992);
    assert.equal(cache.get(1296), 1991);
    cache.put(1010, 1032);
    cache.put(816, 1136);
    assert.equal(cache.get(619), 2265);
    cache.put(55, 953);
    cache.put(599, 944);
    cache.put(1325, 2168);
    cache.put(56, 937);
    assert.equal(cache.get(892), 3112);
    assert.equal(cache.get(302), 765);
    cache.put(290, 2394);
    cache.put(828, 3044);
    assert.equal(cache.get(202), 1556);
    assert.equal(cache.get(92), 3176);
    assert.equal(cache.get(826), 1176);
    cache.put(198, 1239);
    assert.equal(cache.get(717), 571);
    assert.equal(cache.get(1150), 1167);
    assert.equal(cache.get(97), null);
    cache.put(265, 913);
    assert.equal(cache.get(285), 2353);
    cache.put(223, 1131);
    assert.equal(cache.get(603), 2646);
    assert.equal(cache.get(30), 1131);
    cache.put(804, 2510);
    cache.put(1091, 2408);
    cache.put(564, 3222);
    cache.put(46, 2801);
    cache.put(729, 1416);
    cache.put(1130, 3236);
    cache.put(652, 237);
    cache.put(551, 525);
    assert.equal(cache.get(1315), 2031);
    cache.put(395, 1167);
    cache.put(1362, 1076);
    cache.put(58, 1724);
    cache.put(709, 760);
    cache.put(886, 1918);
    cache.put(1149, 121);
    cache.put(1139, 2579);
    cache.put(615, 2768);
    cache.put(70, 1612);
    assert.equal(cache.get(273), 1321);
    assert.equal(cache.get(1301), 2352);
    cache.put(440, 2717);
    cache.put(549, 1084);
    assert.equal(cache.get(556), 2326);
    cache.put(1412, 2249);
    cache.put(34, 2324);
    assert.equal(cache.get(802), 807);
    cache.put(1162, 1056);
    cache.put(1400, 3028);
    assert.equal(cache.get(1301), 2352);
    assert.equal(cache.get(21), 470);
    cache.put(1275, 963);
    assert.equal(cache.get(688), 2429);
    assert.equal(cache.get(1020), null);
    cache.put(1222, 3297);
    cache.put(975, 2024);
    assert.equal(cache.get(1180), 1761);
    assert.equal(cache.get(373), 1077);
    assert.equal(cache.get(803), 1631);
    assert.equal(cache.get(131), 1198);
    assert.equal(cache.get(29), 2440);
    assert.equal(cache.get(640), 1262);
    assert.equal(cache.get(791), 851);
    assert.equal(cache.get(877), 1793);
    cache.put(284, 760);
    assert.equal(cache.get(262), null);
    cache.put(214, 611);
    assert.equal(cache.get(907), 1257);
    assert.equal(cache.get(759), 879);
    cache.put(688, 2270);
    assert.equal(cache.get(567), null);
    cache.put(358, 2134);
    cache.put(829, 3282);
    assert.equal(cache.get(999), 1374);
    assert.equal(cache.get(1168), 1995);
    cache.put(169, 1700);
    assert.equal(cache.get(667), null);
    assert.equal(cache.get(316), 2055);
    assert.equal(cache.get(963), 397);
    assert.equal(cache.get(1225), 752);
    assert.equal(cache.get(1122), 3046);
    cache.put(1105, 1247);
    cache.put(1190, 1074);
    cache.put(122, 3132);
    cache.put(1335, 740);
    cache.put(428, 2046);
    assert.equal(cache.get(715), 585);
    assert.equal(cache.get(752), null);
    cache.put(763, 2566);
    assert.equal(cache.get(934), 451);
    cache.put(1072, 156);
    assert.equal(cache.get(506), 2523);
    cache.put(1402, 104);
    cache.put(345, 624);
    cache.put(1416, 2138);
    cache.put(1412, 797);
    assert.equal(cache.get(497), 123);
    cache.put(698, 105);
    assert.equal(cache.get(631), 807);
    cache.put(1325, 2348);
    assert.equal(cache.get(961), 1122);
    cache.put(1278, 183);
    cache.put(445, 1701);
    cache.put(371, 1966);
    assert.equal(cache.get(1305), 2420);
    cache.put(1044, 1661);
    cache.put(57, 2593);
    cache.put(1250, 1260);
    cache.put(1196, 2978);
    assert.equal(cache.get(908), 2403);
    cache.put(1101, 3045);
    cache.put(583, 344);
    assert.equal(cache.get(1016), 2467);
    cache.put(105, 1152);
    cache.put(1409, 1108);
    cache.put(787, 2372);
    assert.equal(cache.get(580), 88);
    cache.put(273, 1685);
    assert.equal(cache.get(1128), 2117);
    assert.equal(cache.get(628), 1481);
    assert.equal(cache.get(1103), 3085);
    cache.put(821, 1647);
    assert.equal(cache.get(583), 344);
    cache.put(1100, 3244);
    assert.equal(cache.get(475), null);
    assert.equal(cache.get(264), null);
    assert.equal(cache.get(1265), 2493);
    cache.put(1147, 2689);
    cache.put(188, 2907);
    cache.put(786, 2655);
    assert.equal(cache.get(820), 279);
    cache.put(502, 2604);
    assert.equal(cache.get(1268), 1010);
    cache.put(1114, 292);
    cache.put(1356, 1238);
    cache.put(241, 1916);
    cache.put(928, 2662);
    assert.equal(cache.get(675), 767);
    cache.put(259, 2530);
    cache.put(482, 227);
    assert.equal(cache.get(113), 1133);
    assert.equal(cache.get(1086), 375);
    cache.put(736, 2465);
    cache.put(1284, 647);
    cache.put(380, 430);
    assert.equal(cache.get(882), 903);
    assert.equal(cache.get(1120), 2714);
    cache.put(131, 3198);
    assert.equal(cache.get(1059), 2653);
    assert.equal(cache.get(1375), 3256);
    cache.put(1115, 2958);
    cache.put(853, 212);
    cache.put(868, 3066);
    cache.put(535, 1052);
    assert.equal(cache.get(1400), 3028);
    assert.equal(cache.get(1263), 2169);
    cache.put(55, 3007);
    cache.put(153, 1664);
    cache.put(837, 440);
    cache.put(358, 2270);
    cache.put(1287, 2002);
    assert.equal(cache.get(342), 323);
    assert.equal(cache.get(596), 1060);
    assert.equal(cache.get(278), 314);
    cache.put(214, 1546);
    cache.put(1215, 153);
    assert.equal(cache.get(526), 514);
    cache.put(580, 2446);
    assert.equal(cache.get(700), 1991);
    cache.put(1306, 354);
    cache.put(761, 448);
    assert.equal(cache.get(357), null);
    cache.put(816, 2422);
    cache.put(256, 2867);
    assert.equal(cache.get(1147), 2689);
    assert.equal(cache.get(1341), 1718);
    cache.put(567, 775);
    assert.equal(cache.get(1139), 2579);
    assert.equal(cache.get(234), 1081);
    cache.put(1422, 1929);
    cache.put(971, 602);
    assert.equal(cache.get(103), 310);
    cache.put(1265, 498);
    cache.put(1178, 2843);
    cache.put(1342, 2165);
    assert.equal(cache.get(1282), 3031);
    assert.equal(cache.get(223), 1131);
    assert.equal(cache.get(1319), null);
    cache.put(777, 1342);
    cache.put(592, 1230);
    cache.put(1282, 2133);
    cache.put(1120, 3136);
    assert.equal(cache.get(868), 3066);
    cache.put(296, 1838);
    assert.equal(cache.get(1246), 1391);
    assert.equal(cache.get(723), 627);
    cache.put(1403, 1242);
    cache.put(788, 890);
    assert.equal(cache.get(1333), 374);
    cache.put(475, 2177);
    cache.put(195, 1305);
    assert.equal(cache.get(1130), 3236);
    assert.equal(cache.get(440), 2717);
    assert.equal(cache.get(1332), 466);
    cache.put(1053, 655);
    cache.put(236, 1397);
    cache.put(159, 161);
    cache.put(870, 1590);
    assert.equal(cache.get(493), 1623);
    cache.put(1427, 1926);
    assert.equal(cache.get(1197), null);
    cache.put(601, 478);
    cache.put(739, 1139);
    cache.put(1327, 2408);
    assert.equal(cache.get(111), 1537);
    assert.equal(cache.get(1056), 2535);
    cache.put(301, 2360);
    cache.put(862, 2498);
    cache.put(1226, 4);
    assert.equal(cache.get(1408), null);
    cache.put(1316, 67);
    assert.equal(cache.get(1388), 3168);
    cache.put(947, 2890);
    assert.equal(cache.get(377), null);
    cache.put(1, 2323);
    assert.equal(cache.get(883), null);
    cache.put(1273, 3117);
    cache.put(1329, 3116);
    assert.equal(cache.get(704), 1332);
    cache.put(1340, 1813);
    assert.equal(cache.get(287), null);
    cache.put(909, 3109);
    cache.put(1240, 2229);
    cache.put(438, 3006);
    assert.equal(cache.get(1384), 1460);
    cache.put(929, 2925);
    assert.equal(cache.get(28), 2974);
    assert.equal(cache.get(77), null);
    cache.put(776, 950);
    cache.put(473, 2594);
    cache.put(247, 606);
    assert.equal(cache.get(740), 3148);
    assert.equal(cache.get(121), 2576);
    cache.put(1301, 1884);
    cache.put(1030, 1255);
    assert.equal(cache.get(328), 2333);
    assert.equal(cache.get(217), 3168);
    assert.equal(cache.get(515), 941);
    cache.put(697, 3159);
    cache.put(463, 827);
    assert.equal(cache.get(754), 1958);
    assert.equal(cache.get(55), 3007);
    cache.put(1015, 1886);
    assert.equal(cache.get(373), 1077);
    assert.equal(cache.get(222), null);
    assert.equal(cache.get(177), 898);
    cache.put(702, 3195);
    cache.put(832, 951);
    cache.put(831, 2999);
    cache.put(1317, 2176);
    cache.put(1302, 998);
    cache.put(842, 141);
    cache.put(1137, 2258);
    cache.put(85, 2474);
    cache.put(440, 683);
    cache.put(687, 2182);
    cache.put(1017, 1383);
    cache.put(322, 2306);
    cache.put(88, 1726);
    cache.put(420, 764);
    cache.put(1283, 2580);
    cache.put(848, 2814);
    assert.equal(cache.get(972), null);
    cache.put(26, 1415);
    assert.equal(cache.get(1001), null);
    cache.put(311, 429);
    assert.equal(cache.get(612), 2530);
    assert.equal(cache.get(552), 226);
    cache.put(878, 935);
    assert.equal(cache.get(470), 2097);
    assert.equal(cache.get(865), 554);
    assert.equal(cache.get(51), null);
    cache.put(1337, 2741);
    cache.put(1059, 1315);
    assert.equal(cache.get(97), null);
    assert.equal(cache.get(743), 817);
    assert.equal(cache.get(516), 917);
    assert.equal(cache.get(1157), 1126);
    cache.put(170, 2148);
    assert.equal(cache.get(21), 470);
    cache.put(528, 1602);
    cache.put(489, 2152);
    cache.put(358, 1578);
    assert.equal(cache.get(388), 2794);
    cache.put(1369, 1594);
    assert.equal(cache.get(313), 1847);
    assert.equal(cache.get(89), 465);
    assert.equal(cache.get(35), 418);
    cache.put(37, 1472);
    assert.equal(cache.get(643), 1659);
    assert.equal(cache.get(355), 3236);
    cache.put(1055, 2114);
    assert.equal(cache.get(913), 1218);
    cache.put(361, 1064);
    cache.put(278, 2210);
    assert.equal(cache.get(642), null);
    cache.put(1144, 2893);
    cache.put(831, 897);
    assert.equal(cache.get(1155), 25);
    assert.equal(cache.get(536), 929);
    assert.equal(cache.get(846), 2538);
    assert.equal(cache.get(806), 2163);
    cache.put(116, 660);
    cache.put(596, 310);
    cache.put(1370, 1890);
    cache.put(451, 2699);
    cache.put(410, 2092);
    cache.put(1110, 1971);
    cache.put(1356, 543);
    cache.put(430, 2791);
    cache.put(1373, 1829);
    cache.put(490, 1758);
    assert.equal(cache.get(767), 2973);
    cache.put(1375, 589);
    assert.equal(cache.get(1062), null);
    assert.equal(cache.get(24), 1744);
    cache.put(931, 1418);
    cache.put(1232, 2400);
    assert.equal(cache.get(1064), 2448);
    assert.equal(cache.get(814), 1107);
    cache.put(370, 1191);
    assert.equal(cache.get(738), null);
    assert.equal(cache.get(70), 1612);
    cache.put(407, 1479);
    cache.put(380, 1290);
    cache.put(858, 2710);
    assert.equal(cache.get(204), 1269);
    cache.put(601, 500);
    cache.put(1321, 2947);
    assert.equal(cache.get(68), 582);
    cache.put(502, 2610);
    assert.equal(cache.get(1351), null);
    cache.put(923, 2676);
    cache.put(1338, 723);
    cache.put(665, 1100);
    assert.equal(cache.get(11), null);
    cache.put(850, 1841);
    assert.equal(cache.get(142), 2876);
    cache.put(370, 3248);
    assert.equal(cache.get(898), 2605);
    cache.put(1331, 790);
    cache.put(449, 301);
    cache.put(615, 1054);
    assert.equal(cache.get(641), 2275);
    assert.equal(cache.get(880), null);
    cache.put(388, 98);
    cache.put(857, 3227);
    cache.put(142, 3169);
    assert.equal(cache.get(925), null);
    assert.equal(cache.get(470), 2097);
    assert.equal(cache.get(809), 337);
    assert.equal(cache.get(115), 2523);
    cache.put(1426, 2109);
    cache.put(1429, 1636);
    cache.put(1280, 2703);
    assert.equal(cache.get(482), 227);
    cache.put(1236, 971);
    assert.equal(cache.get(846), 2538);
    cache.put(261, 1623);
    cache.put(236, 1765);
    cache.put(785, 196);
    assert.equal(cache.get(69), 2868);
    cache.put(1390, 2011);
    cache.put(1335, 2747);
    assert.equal(cache.get(1021), null);
    cache.put(638, 622);
    cache.put(141, 2841);
    cache.put(1030, 2088);
    assert.equal(cache.get(1183), 1403);
    cache.put(887, 1797);
    cache.put(660, 1372);
    cache.put(367, 1817);
    cache.put(697, 745);
    cache.put(460, 2259);
    cache.put(98, 2683);
    assert.equal(cache.get(1202), null);
    assert.equal(cache.get(683), 1567);
    assert.equal(cache.get(774), 3125);
    cache.put(376, 2725);
    cache.put(847, 1281);
    assert.equal(cache.get(181), 792);
    cache.put(1214, 2089);
    assert.equal(cache.get(1049), 3022);
    assert.equal(cache.get(870), 1590);
    assert.equal(cache.get(1274), 258);
    assert.equal(cache.get(920), 1210);
    cache.put(514, 2898);
    cache.put(398, 559);
    cache.put(134, 816);
    assert.equal(cache.get(962), 940);
    assert.equal(cache.get(169), 1700);
    assert.equal(cache.get(169), 1700);
    assert.equal(cache.get(889), null);
    cache.put(1423, 808);
    assert.equal(cache.get(1221), 1058);
    cache.put(1131, 89);
    assert.equal(cache.get(653), null);
    cache.put(352, 894);
    assert.equal(cache.get(231), 566);
    assert.equal(cache.get(4), null);
    cache.put(56, 765);
    assert.equal(cache.get(1070), 2267);
    cache.put(1382, 2274);
    cache.put(639, 1638);
    cache.put(1118, 686);
    assert.equal(cache.get(339), 2066);
    cache.put(473, 2895);
    assert.equal(cache.get(231), 566);
    cache.put(1252, 2307);
    cache.put(475, 2558);
    assert.equal(cache.get(800), 1719);
    cache.put(685, 2291);
    assert.equal(cache.get(292), 2321);
    assert.equal(cache.get(505), 1948);
    cache.put(66, 3127);
    cache.put(481, 676);
    assert.equal(cache.get(386), null);
    cache.put(369, 2923);
    cache.put(1414, 655);
    assert.equal(cache.get(263), null);
    assert.equal(cache.get(716), 563);
    assert.equal(cache.get(115), 2523);
    assert.equal(cache.get(309), 1572);
    assert.equal(cache.get(1149), 121);
    assert.equal(cache.get(1266), 35);
    assert.equal(cache.get(202), 1556);
    assert.equal(cache.get(597), 788);
    cache.put(1350, 2274);
    cache.put(375, 519);
    assert.equal(cache.get(1129), null);
    assert.equal(cache.get(620), 1988);
    assert.equal(cache.get(231), 566);
    assert.equal(cache.get(1098), 2993);
    cache.put(1420, 2289);
    cache.put(246, 1038);
    assert.equal(cache.get(998), 452);
    cache.put(344, 1549);
    cache.put(342, 1773);
    cache.put(552, 1013);
    cache.put(802, 2063);
    assert.equal(cache.get(379), 2527);
    cache.put(777, 1771);
    cache.put(1060, 1652);
    assert.equal(cache.get(1381), 1987);
    assert.equal(cache.get(134), 816);
    cache.put(531, 1905);
    assert.equal(cache.get(1390), 2011);
    assert.equal(cache.get(361), null);
    cache.put(185, 279);
    cache.put(30, 607);
    assert.equal(cache.get(1219), 624);
    assert.equal(cache.get(263), null);
    cache.put(431, 476);
    assert.equal(cache.get(36), 2902);
    cache.put(1344, 28);
    assert.equal(cache.get(484), 2898);
    assert.equal(cache.get(1323), 2268);
    cache.put(1341, 1373);
    cache.put(1349, 1400);
    cache.put(312, 2751);
    assert.equal(cache.get(507), 2760);
    cache.put(155, 2817);
    cache.put(201, 593);
    cache.put(448, 1965);
    cache.put(769, 1776);
    assert.equal(cache.get(397), 1201);
    cache.put(934, 708);
    cache.put(268, 2292);
    assert.equal(cache.get(1339), 1464);
    assert.equal(cache.get(341), 1680);
    assert.equal(cache.get(559), 1006);
    assert.equal(cache.get(1290), null);
    assert.equal(cache.get(1295), 2252);
    cache.put(160, 2646);
    assert.equal(cache.get(689), 1374);
    assert.equal(cache.get(1045), 1513);
    assert.equal(cache.get(891), 2683);
    cache.put(601, 1287);
    cache.put(1029, 2455);
    cache.put(964, 1531);
    cache.put(258, 39);
    cache.put(339, 159);
    cache.put(101, 2269);
    cache.put(858, 1109);
    assert.equal(cache.get(403), 730);
    cache.put(1085, 2722);
    cache.put(1393, 575);
    assert.equal(cache.get(572), 2452);
    cache.put(807, 1760);
    cache.put(910, 921);
    cache.put(593, 2116);
    cache.put(1165, 2999);
    cache.put(992, 2286);
    cache.put(499, 199);
    assert.equal(cache.get(350), 2933);
    cache.put(1361, 3141);
    cache.put(1336, 1870);
    assert.equal(cache.get(847), null);
    assert.equal(cache.get(902), 3223);
    assert.equal(cache.get(916), 3287);
    cache.put(1070, 3037);
    cache.put(307, 2843);
    assert.equal(cache.get(83), 966);
    assert.equal(cache.get(267), 1894);
    cache.put(945, 1307);
    assert.equal(cache.get(1303), null);
    assert.equal(cache.get(216), 571);
    cache.put(834, 3065);
    assert.equal(cache.get(1181), 707);
    assert.equal(cache.get(903), null);
    cache.put(194, 200);
    cache.put(728, 1506);
    assert.equal(cache.get(659), 645);
    cache.put(1126, 2335);
    cache.put(624, 965);
    cache.put(318, 190);
    assert.equal(cache.get(201), 593);
    assert.equal(cache.get(284), 760);
    assert.equal(cache.get(597), 788);
    cache.put(897, 2783);
    assert.equal(cache.get(1230), null);
    assert.equal(cache.get(621), null);
    cache.put(311, 2419);
    cache.put(1130, 914);
    assert.equal(cache.get(1134), 2718);
    assert.equal(cache.get(370), null);
    cache.put(276, 983);
    cache.put(1373, 1004);
    cache.put(995, 2715);
    cache.put(955, 160);
    cache.put(1335, 826);
    cache.put(1311, 2375);
    cache.put(408, 957);
    cache.put(783, 3263);
    assert.equal(cache.get(665), null);
    cache.put(1391, 1757);
    cache.put(776, 794);
    assert.equal(cache.get(568), null);
    assert.equal(cache.get(822), 1620);
    cache.put(1054, 1219);
    cache.put(372, 2704);
    cache.put(1027, 1498);
    assert.equal(cache.get(1332), 466);
    cache.put(15, 1550);
    assert.equal(cache.get(388), 98);
    cache.put(1220, 1302);
    assert.equal(cache.get(1314), 875);
    assert.equal(cache.get(1056), 2535);
    cache.put(976, 1081);
    assert.equal(cache.get(732), null);
    assert.equal(cache.get(583), 344);
    cache.put(453, 1593);
    assert.equal(cache.get(311), 2419);
    cache.put(398, 2072);
    assert.equal(cache.get(145), 807);
    cache.put(1424, 621);
    cache.put(1227, 1754);
    cache.put(1012, 3163);
    assert.equal(cache.get(187), null);
    assert.equal(cache.get(1260), null);
    assert.equal(cache.get(528), null);
    cache.put(295, 2320);
    assert.equal(cache.get(1366), 2816);
    cache.put(644, 2820);
    assert.equal(cache.get(154), 2916);
    assert.equal(cache.get(857), null);
    cache.put(1263, 609);
    assert.equal(cache.get(841), 2557);
    cache.put(1260, 3048);
    cache.put(672, 779);
    cache.put(1156, 113);
    assert.equal(cache.get(530), 2235);
    cache.put(1026, 2430);
    cache.put(401, 3215);
    cache.put(658, 1001);
    cache.put(651, 587);
    cache.put(1034, 1056);
    assert.equal(cache.get(608), null);
    assert.equal(cache.get(151), 1235);
    cache.put(1165, 3243);
    cache.put(930, 3033);
    assert.equal(cache.get(69), 2868);
    cache.put(518, 2121);
    cache.put(367, 2581);
    cache.put(656, 1751);
    cache.put(855, 366);
    assert.equal(cache.get(28), 2974);
    assert.equal(cache.get(1246), 1391);
    cache.put(530, 2475);
    assert.equal(cache.get(830), 3110);
    cache.put(1123, 1899);
    cache.put(62, 3288);
    assert.equal(cache.get(760), null);
    assert.equal(cache.get(680), null);
    cache.put(59, 1936);
    cache.put(586, 1774);
    cache.put(488, 1089);
    assert.equal(cache.get(1027), 1498);
    assert.equal(cache.get(1256), 2158);
    assert.equal(cache.get(217), 3168);
    assert.equal(cache.get(1394), null);
    assert.equal(cache.get(147), 3126);
    cache.put(566, 1876);
    cache.put(222, 1011);
    cache.put(414, 2809);
    assert.equal(cache.get(77), null);
    cache.put(1173, 2415);
    assert.equal(cache.get(533), null);
    assert.equal(cache.get(404), 1843);
    assert.equal(cache.get(101), 2269);
    assert.equal(cache.get(957), null);
    assert.equal(cache.get(600), 2007);
    cache.put(1245, 1134);
    assert.equal(cache.get(140), 2904);
    cache.put(832, 2958);
    assert.equal(cache.get(316), 2055);
    assert.equal(cache.get(473), 2895);
    cache.put(464, 1092);
    cache.put(1163, 2477);
    cache.put(161, 953);
    assert.equal(cache.get(1355), 1179);
    cache.put(697, 489);
    cache.put(1359, 1219);
    cache.put(178, 2563);
    assert.equal(cache.get(480), null);
    cache.put(1073, 184);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(1393), null);
    assert.equal(cache.get(83), 966);
    assert.equal(cache.get(439), 2280);
    cache.put(1137, 2179);
    assert.equal(cache.get(992), 2286);
    assert.equal(cache.get(601), null);
    assert.equal(cache.get(1272), 272);
    cache.put(867, 1169);
    assert.equal(cache.get(173), null);
    cache.put(9, 804);
    cache.put(450, 2296);
    assert.equal(cache.get(216), 571);
    cache.put(285, 736);
    cache.put(1029, 508);
    cache.put(410, 2498);
    cache.put(81, 1842);
    assert.equal(cache.get(1279), 793);
    cache.put(1363, 1863);
    assert.equal(cache.get(923), 2676);
    cache.put(1398, 3092);
    cache.put(1050, 2034);
    cache.put(909, 2451);
    cache.put(769, 3019);
    assert.equal(cache.get(862), 2498);
    cache.put(828, 579);
    cache.put(1212, 2395);
    cache.put(983, 1457);
    assert.equal(cache.get(699), 2794);
    assert.equal(cache.get(1059), 1315);
    cache.put(851, 20);
    cache.put(639, 2628);
    assert.equal(cache.get(663), null);
    cache.put(736, 1783);
    cache.put(965, 3122);
    cache.put(564, 1458);
    cache.put(1154, 2094);
    cache.put(1031, 608);
    cache.put(219, 2569);
    cache.put(652, 1539);
    cache.put(1206, 362);
    assert.equal(cache.get(279), 2154);
    cache.put(623, 1422);
    assert.equal(cache.get(1357), null);
    cache.put(175, 36);
    cache.put(1065, 71);
    cache.put(413, 1127);
    assert.equal(cache.get(651), 587);
    cache.put(1208, 2177);
    cache.put(776, 2929);
    assert.equal(cache.get(826), 1176);
    assert.equal(cache.get(691), 3043);
    assert.equal(cache.get(1240), 2229);
    cache.put(1159, 2283);
    cache.put(260, 234);
    cache.put(1045, 752);
    assert.equal(cache.get(717), 571);
    assert.equal(cache.get(979), 632);
    cache.put(1020, 561);
    assert.equal(cache.get(181), 792);
    cache.put(1394, 2778);
    cache.put(1414, 86);
    assert.equal(cache.get(1330), 233);
    assert.equal(cache.get(1126), 2335);
    cache.put(807, 1794);
    assert.equal(cache.get(983), 1457);
    cache.put(241, 1550);
    assert.equal(cache.get(1412), null);
    assert.equal(cache.get(562), 1003);
    cache.put(1083, 3133);
    assert.equal(cache.get(1075), null);
    assert.equal(cache.get(979), 632);
    cache.put(1033, 1049);
    cache.put(1037, 1127);
    cache.put(1112, 2738);
    cache.put(563, 1850);
    cache.put(1034, 2940);
    cache.put(97, 1020);
    assert.equal(cache.get(133), 2666);
    cache.put(2, 3275);
    cache.put(557, 2626);
    assert.equal(cache.get(12), 2780);
    assert.equal(cache.get(1087), 9);
    cache.put(1201, 1017);
    cache.put(854, 576);
    cache.put(1008, 890);
    cache.put(622, 3303);
    cache.put(1236, 1284);
    assert.equal(cache.get(1044), 1661);
    cache.put(101, 2606);
    assert.equal(cache.get(438), null);
    cache.put(391, 1610);
    assert.equal(cache.get(36), 2902);
    cache.put(1321, 2744);
    cache.put(886, 2608);
    cache.put(1205, 226);
    cache.put(563, 483);
    cache.put(643, 1263);
    assert.equal(cache.get(205), 2062);
    cache.put(13, 2039);
    cache.put(34, 789);
    cache.put(840, 1818);
    cache.put(451, 2700);
    assert.equal(cache.get(325), 1528);
    cache.put(596, 3162);
    assert.equal(cache.get(746), 2696);
    cache.put(903, 1542);
    cache.put(987, 3165);
    cache.put(1363, 602);
    cache.put(432, 109);
    cache.put(796, 2874);
    assert.equal(cache.get(711), 2184);
    assert.equal(cache.get(302), 765);
    assert.equal(cache.get(1145), 589);
    cache.put(791, 3133);
    assert.equal(cache.get(735), 2814);
    cache.put(52, 2352);
    cache.put(1091, 3299);
    cache.put(831, 2255);
    cache.put(39, 3271);
    cache.put(1026, 2798);
    cache.put(934, 2819);
    assert.equal(cache.get(767), 2973);
    cache.put(639, 492);
    assert.equal(cache.get(317), 821);
    cache.put(555, 3291);
    assert.equal(cache.get(289), null);
    cache.put(1101, 809);
    cache.put(753, 933);
    cache.put(806, 2442);
    assert.equal(cache.get(1358), 2163);
    assert.equal(cache.get(472), 1847);
    cache.put(1109, 526);
    assert.equal(cache.get(1199), 424);
    assert.equal(cache.get(472), 1847);
    cache.put(332, 98);
    cache.put(1230, 2970);
    assert.equal(cache.get(245), 198);
    assert.equal(cache.get(884), null);
    cache.put(1429, 2108);
    cache.put(903, 1925);
    assert.equal(cache.get(1046), 1128);
    cache.put(1128, 583);
    cache.put(1381, 3088);
    cache.put(1260, 2708);
    assert.equal(cache.get(461), 1647);
    cache.put(1354, 3076);
    cache.put(511, 2445);
    cache.put(1065, 3236);
    assert.equal(cache.get(382), 2582);
    cache.put(115, 595);
    assert.equal(cache.get(976), 1081);
    assert.equal(cache.get(657), 2328);
    cache.put(263, 1729);
    cache.put(747, 809);
    cache.put(684, 1404);
    assert.equal(cache.get(475), null);
    cache.put(518, 201);
    assert.equal(cache.get(1042), null);
    cache.put(339, 1678);
    assert.equal(cache.get(1322), 1604);
    assert.equal(cache.get(1090), 3100);
    cache.put(704, 967);
    cache.put(380, 1805);
    cache.put(783, 2068);
    assert.equal(cache.get(428), null);
    assert.equal(cache.get(7), 3251);
    cache.put(117, 3279);
    assert.equal(cache.get(293), null);
    cache.put(791, 2995);
    cache.put(693, 2931);
    cache.put(867, 1673);
    assert.equal(cache.get(889), null);
    cache.put(1409, 1161);
    cache.put(534, 1450);
    cache.put(576, 2586);
    cache.put(131, 1955);
    cache.put(495, 3106);
    cache.put(466, 1271);
    cache.put(1228, 2574);
    cache.put(718, 2965);
    assert.equal(cache.get(801), 49);
    assert.equal(cache.get(388), 98);
    assert.equal(cache.get(1192), 1544);
    assert.equal(cache.get(1241), 2599);
    cache.put(851, 2347);
    assert.equal(cache.get(1021), null);
    cache.put(1267, 1619);
    cache.put(177, 772);
    cache.put(7, 778);
    assert.equal(cache.get(306), 1269);
    cache.put(844, 628);
    cache.put(195, 3022);
    assert.equal(cache.get(38), 3024);
    cache.put(935, 1758);
    cache.put(1049, 1201);
    cache.put(415, 222);
    assert.equal(cache.get(1384), 1460);
    assert.equal(cache.get(267), 1894);
    assert.equal(cache.get(865), 554);
    assert.equal(cache.get(1141), 1954);
    cache.put(424, 365);
    assert.equal(cache.get(567), null);
    assert.equal(cache.get(550), 1123);
    cache.put(1403, 1262);
    assert.equal(cache.get(135), 1151);
    cache.put(755, 533);
    cache.put(251, 2475);
    cache.put(398, 3099);
    cache.put(1091, 624);
    cache.put(280, 1322);
    assert.equal(cache.get(370), null);
    cache.put(1218, 2763);
    assert.equal(cache.get(1226), null);
    cache.put(1249, 2899);
    assert.equal(cache.get(516), 917);
    cache.put(527, 2813);
    assert.equal(cache.get(99), 3211);
    cache.put(613, 2785);
    cache.put(435, 2039);
    cache.put(135, 2329);
    cache.put(263, 41);
    cache.put(968, 363);
    cache.put(984, 888);
    cache.put(1225, 652);
    cache.put(415, 1145);
    cache.put(733, 158);
    cache.put(17, 781);
    cache.put(441, 84);
    cache.put(430, 3116);
    assert.equal(cache.get(124), 380);
    cache.put(1413, 1781);
    assert.equal(cache.get(1072), 156);
    cache.put(239, 2736);
    cache.put(981, 1878);
    assert.equal(cache.get(1337), 2741);
    cache.put(1091, 1252);
    cache.put(366, 462);
    cache.put(802, 1915);
    assert.equal(cache.get(232), 47);
    cache.put(1209, 715);
    assert.equal(cache.get(718), null);
    assert.equal(cache.get(833), 1244);
    cache.put(1385, 2529);
    cache.put(982, 2603);
    cache.put(190, 1531);
    assert.equal(cache.get(1071), 2187);
    cache.put(1074, 737);
    cache.put(1016, 2103);
    assert.equal(cache.get(288), 231);
    cache.put(960, 415);
    cache.put(1105, 1349);
    cache.put(831, 1633);
    cache.put(1173, 340);
    cache.put(580, 198);
    cache.put(176, 1195);
    assert.equal(cache.get(463), 827);
    assert.equal(cache.get(213), null);
    assert.equal(cache.get(108), null);
    assert.equal(cache.get(924), 3224);
    cache.put(127, 332);
    assert.equal(cache.get(429), 2049);
    assert.equal(cache.get(235), 2272);
    cache.put(937, 284);
    assert.equal(cache.get(588), 2255);
    assert.equal(cache.get(880), null);
    assert.equal(cache.get(903), null);
    assert.equal(cache.get(1339), 1464);
    cache.put(122, 460);
    assert.equal(cache.get(1381), 3088);
    cache.put(388, 1118);
    cache.put(1385, 2375);
    cache.put(619, 724);
    assert.equal(cache.get(113), 1133);
    assert.equal(cache.get(461), 1647);
    assert.equal(cache.get(932), 1301);
    assert.equal(cache.get(217), 3168);
    cache.put(976, 970);
    cache.put(956, 3214);
    cache.put(732, 603);
    assert.equal(cache.get(116), 660);
    cache.put(70, 226);
    assert.equal(cache.get(869), 849);
    cache.put(1376, 2187);
    cache.put(783, 1846);
    assert.equal(cache.get(199), 2196);
    cache.put(662, 2917);
    cache.put(266, 2420);
    cache.put(322, 542);
    assert.equal(cache.get(394), 2558);
    assert.equal(cache.get(807), 1794);
    assert.equal(cache.get(1326), null);
    assert.equal(cache.get(1320), 236);
    assert.equal(cache.get(1007), 606);
    cache.put(1196, 230);
    cache.put(534, 814);
    assert.equal(cache.get(739), 1139);
    cache.put(1225, 1689);
    cache.put(680, 421);
    assert.equal(cache.get(133), 2666);
    cache.put(1091, 1799);
    cache.put(852, 2562);
    assert.equal(cache.get(400), 119);
    cache.put(165, 2104);
    cache.put(334, 1886);
    cache.put(530, 1410);
    assert.equal(cache.get(954), 816);
    assert.equal(cache.get(1004), 1498);
    assert.equal(cache.get(778), null);
    cache.put(136, 2833);
    cache.put(619, 532);
    assert.equal(cache.get(500), null);
    cache.put(195, 681);
    assert.equal(cache.get(1093), 1764);
    cache.put(833, 2703);
    assert.equal(cache.get(892), 3112);
    cache.put(592, 2784);
    cache.put(40, 3157);
    assert.equal(cache.get(134), 816);
    assert.equal(cache.get(175), 36);
    cache.put(141, 1254);
    cache.put(258, 460);
    cache.put(492, 52);
    assert.equal(cache.get(350), 2933);
    cache.put(639, 2018);
    assert.equal(cache.get(34), 789);
    cache.put(1113, 1991);
    assert.equal(cache.get(138), 2666);
    assert.equal(cache.get(1207), 1558);
    cache.put(1008, 992);
    cache.put(475, 998);
    cache.put(526, 2771);
    assert.equal(cache.get(618), 79);
    assert.equal(cache.get(1222), 3297);
    cache.put(1170, 202);
    cache.put(429, 1019);
    cache.put(1126, 1520);
    assert.equal(cache.get(217), 3168);
    cache.put(8, 2972);
    cache.put(843, 379);
    cache.put(612, 1704);
    cache.put(1117, 1141);
    cache.put(127, 1626);
    cache.put(332, 2051);
    assert.equal(cache.get(1300), 2715);
    cache.put(1380, 1462);
    cache.put(647, 1110);
    assert.equal(cache.get(1425), 257);
    assert.equal(cache.get(493), 1623);
    cache.put(707, 1986);
    cache.put(1384, 3208);
    cache.put(753, 436);
    assert.equal(cache.get(806), 2442);
    cache.put(809, 1031);
    cache.put(216, 2159);
    assert.equal(cache.get(1166), 1796);
    cache.put(586, 1222);
    assert.equal(cache.get(777), 1771);
    assert.equal(cache.get(776), 2929);
    assert.equal(cache.get(1381), 3088);
    cache.put(1264, 1320);
    assert.equal(cache.get(1158), 861);
    cache.put(1272, 3005);
    cache.put(1348, 1586);
    cache.put(1046, 961);
    cache.put(1307, 29);
    cache.put(29, 3128);
    assert.equal(cache.get(565), 1628);
    assert.equal(cache.get(8), 2972);
    cache.put(938, 1919);
    cache.put(297, 2139);
    assert.equal(cache.get(968), 363);
    cache.put(266, 2001);
    cache.put(11, 566);
    cache.put(915, 2274);
    cache.put(435, 1488);
    assert.equal(cache.get(1095), 3006);
    assert.equal(cache.get(95), null);
    cache.put(800, 2567);
    assert.equal(cache.get(907), 1257);
    assert.equal(cache.get(819), 2637);
    cache.put(922, 1566);
    assert.equal(cache.get(1201), 1017);
    cache.put(908, 331);
    cache.put(708, 3226);
    cache.put(1028, 2562);
    assert.equal(cache.get(412), 2842);
    assert.equal(cache.get(823), null);
    cache.put(1360, 2937);
    assert.equal(cache.get(907), 1257);
    assert.equal(cache.get(1076), 2920);
    assert.equal(cache.get(1368), 598);
    cache.put(1232, 1813);
    cache.put(78, 1866);
    assert.equal(cache.get(763), 2566);
    cache.put(540, 76);
    assert.equal(cache.get(1314), 875);
    assert.equal(cache.get(1121), null);
    cache.put(827, 2644);
    cache.put(224, 2088);
    assert.equal(cache.get(472), 1847);
    cache.put(438, 2162);
    cache.put(898, 1653);
    cache.put(1407, 1598);
    cache.put(471, 2478);
    cache.put(825, 141);
    assert.equal(cache.get(598), 2018);
    cache.put(828, 1589);
    assert.equal(cache.get(541), 2234);
    cache.put(9, 81);
    assert.equal(cache.get(247), 606);
    cache.put(1140, 2837);
    cache.put(253, 334);
    cache.put(439, 2621);
    assert.equal(cache.get(556), 2326);
    cache.put(1334, 267);
    cache.put(1319, 1542);
    assert.equal(cache.get(515), 941);
    cache.put(471, 608);
    cache.put(1286, 3109);
    assert.equal(cache.get(502), 2610);
    cache.put(237, 1521);
    cache.put(358, 1386);
    assert.equal(cache.get(677), 91);
    assert.equal(cache.get(587), null);
    cache.put(1110, 879);
    cache.put(906, 2252);
    assert.equal(cache.get(525), 761);
    cache.put(1264, 1883);
    cache.put(1007, 2628);
    cache.put(717, 526);
    assert.equal(cache.get(587), null);
    cache.put(949, 1892);
    assert.equal(cache.get(568), null);
    cache.put(405, 3189);
    assert.equal(cache.get(773), 2274);
    assert.equal(cache.get(706), null);
    cache.put(731, 3216);
    cache.put(531, 221);
    cache.put(1418, 173);
    cache.put(1052, 3086);
    cache.put(359, 1804);
    cache.put(1298, 1778);
    cache.put(228, 1118);
    cache.put(307, 430);
    cache.put(370, 2248);
    assert.equal(cache.get(1338), 723);
    cache.put(169, 1623);
    assert.equal(cache.get(1255), 1486);
    assert.equal(cache.get(160), 2646);
    cache.put(467, 2936);
    cache.put(777, 939);
    cache.put(104, 1094);
    assert.equal(cache.get(760), null);
    cache.put(478, 17);
    assert.equal(cache.get(1029), 508);
    assert.equal(cache.get(869), 849);
    assert.equal(cache.get(755), 533);
    cache.put(219, 2881);
    cache.put(1102, 2880);
    cache.put(532, 759);
    assert.equal(cache.get(70), 226);
    cache.put(170, 505);
    assert.equal(cache.get(1184), null);
    cache.put(547, 1392);
    cache.put(1182, 1094);
    cache.put(1224, 1169);
    cache.put(102, 2437);
    assert.equal(cache.get(685), 2291);
    cache.put(610, 2581);
    assert.equal(cache.get(122), 460);
    assert.equal(cache.get(970), 2586);
    cache.put(616, 672);
    cache.put(124, 2480);
    cache.put(777, 2130);
    assert.equal(cache.get(824), 1573);
    assert.equal(cache.get(789), 1214);
    cache.put(796, 523);
    assert.equal(cache.get(1429), 2108);
    assert.equal(cache.get(1250), 1260);
    cache.put(741, 1365);
    cache.put(164, 1674);
    cache.put(875, 2216);
    assert.equal(cache.get(1176), 1135);
    cache.put(361, 666);
    assert.equal(cache.get(1006), 423);
    assert.equal(cache.get(618), 79);
    assert.equal(cache.get(1350), 2274);
    cache.put(168, 2118);
    cache.put(1138, 362);
    cache.put(252, 1215);
    cache.put(732, 2937);
    assert.equal(cache.get(50), null);
    cache.put(778, 823);
    assert.equal(cache.get(798), 516);
    cache.put(294, 3300);
    cache.put(996, 2245);
    assert.equal(cache.get(140), 2904);
    assert.equal(cache.get(733), null);
    cache.put(847, 2194);
    cache.put(146, 1225);
    assert.equal(cache.get(1415), 2220);
    cache.put(993, 1827);
    cache.put(1164, 1441);
    assert.equal(cache.get(1036), null);
    cache.put(124, 1021);
    cache.put(535, 1018);
    assert.equal(cache.get(517), null);
    cache.put(736, 2307);
    cache.put(897, 2650);
    assert.equal(cache.get(272), null);
    assert.equal(cache.get(601), null);
    assert.equal(cache.get(666), 1244);
    assert.equal(cache.get(1181), 707);
    assert.equal(cache.get(1232), 1813);
    cache.put(816, 880);
    cache.put(372, 2306);
    cache.put(1099, 454);
    cache.put(514, 2900);
    assert.equal(cache.get(1321), null);
    cache.put(163, 337);
    cache.put(787, 2340);
    cache.put(729, 1818);
    cache.put(1045, 1161);
    cache.put(443, 2606);
    assert.equal(cache.get(650), 1011);
    assert.equal(cache.get(1146), null);
    cache.put(1133, 1362);
    assert.equal(cache.get(1169), 418);
    assert.equal(cache.get(1369), 1594);
    assert.equal(cache.get(938), 1919);
    cache.put(896, 404);
    cache.put(1142, 1817);
    cache.put(124, 3226);
    cache.put(350, 2027);
    assert.equal(cache.get(591), 199);
    cache.put(1130, 495);
    assert.equal(cache.get(903), null);
    assert.equal(cache.get(355), 3236);
    assert.equal(cache.get(1180), 1761);
    cache.put(1209, 2065);
    cache.put(843, 1854);
    cache.put(929, 1810);
    cache.put(157, 2356);
    assert.equal(cache.get(1126), 1520);
    cache.put(415, 3072);
    cache.put(357, 2036);
    cache.put(605, 2182);
    assert.equal(cache.get(738), null);
    cache.put(1421, 2048);
    cache.put(439, 1467);
    cache.put(80, 2073);
    cache.put(1222, 3209);
    cache.put(479, 3182);
    assert.equal(cache.get(1019), 1704);
    cache.put(103, 264);
    assert.equal(cache.get(730), 1269);
    cache.put(320, 1978);
    cache.put(224, 1087);
    assert.equal(cache.get(24), 1744);
    assert.equal(cache.get(1224), 1169);
    cache.put(583, 388);
    cache.put(1263, 1675);
    assert.equal(cache.get(1306), null);
    cache.put(1173, 2174);
    cache.put(647, 1078);
    cache.put(911, 885);
    assert.equal(cache.get(539), null);
    assert.equal(cache.get(522), null);
    assert.equal(cache.get(737), null);
    cache.put(537, 732);
    assert.equal(cache.get(504), 2164);
    assert.equal(cache.get(1142), null);
    assert.equal(cache.get(961), 1122);
    cache.put(53, 1885);
    cache.put(250, 1232);
    assert.equal(cache.get(1044), 1661);
    cache.put(592, 3297);
    assert.equal(cache.get(351), 2261);
    cache.put(1136, 2418);
    cache.put(736, 1160);
    cache.put(1174, 3065);
    cache.put(497, 1674);
    assert.equal(cache.get(930), 3033);
    cache.put(696, 3001);
    assert.equal(cache.get(852), 2562);
    cache.put(1246, 1794);
    assert.equal(cache.get(392), 1796);
    cache.put(837, 1522);
    cache.put(1165, 3092);
    assert.equal(cache.get(789), 1214);
    cache.put(987, 1671);
    assert.equal(cache.get(934), 2819);
    cache.put(1304, 799);
    assert.equal(cache.get(75), null);
    assert.equal(cache.get(935), 1758);
    cache.put(562, 2547);
    cache.put(1423, 901);
    cache.put(890, 3063);
    cache.put(1111, 301);
    cache.put(1100, 2368);
    assert.equal(cache.get(1017), null);
    cache.put(1193, 3102);
    cache.put(490, 1082);
    assert.equal(cache.get(826), 1176);
    assert.equal(cache.get(1276), null);
    cache.put(163, 1351);
    cache.put(1039, 1331);
    cache.put(518, 1653);
    cache.put(938, 2332);
    cache.put(780, 1950);
    assert.equal(cache.get(1279), 793);
    assert.equal(cache.get(714), 354);
    assert.equal(cache.get(1409), 1161);
    assert.equal(cache.get(1226), null);
    cache.put(769, 2116);
    cache.put(986, 2280);
    assert.equal(cache.get(1012), 3163);
    cache.put(694, 2338);
    assert.equal(cache.get(142), 3169);
    cache.put(767, 1919);
    cache.put(1353, 1528);
    assert.equal(cache.get(6), null);
    cache.put(1280, 1212);
    assert.equal(cache.get(463), 827);
    cache.put(14, 2154);
    cache.put(256, 1481);
    cache.put(955, 377);
    assert.equal(cache.get(1141), 1954);
    cache.put(1, 2101);
    cache.put(54, 15);
    cache.put(1263, 1725);
    cache.put(35, 2976);
    assert.equal(cache.get(838), 2869);
    cache.put(349, 1512);
    assert.equal(cache.get(146), 1225);
    cache.put(452, 419);
    assert.equal(cache.get(457), 1746);
    cache.put(268, 1407);
    cache.put(853, 1260);
    assert.equal(cache.get(1378), 2475);
    cache.put(1290, 1511);
    cache.put(895, 1831);
    assert.equal(cache.get(659), 645);
    cache.put(1097, 1652);
    cache.put(559, 2844);
    assert.equal(cache.get(416), 2409);
    assert.equal(cache.get(847), null);
    cache.put(892, 2093);
    cache.put(108, 536);
    assert.equal(cache.get(1393), null);
    assert.equal(cache.get(1341), 1373);
    assert.equal(cache.get(961), 1122);
    cache.put(1354, 3274);
    cache.put(292, 691);
    cache.put(1165, 302);
    assert.equal(cache.get(1052), 3086);
    cache.put(1270, 738);
    cache.put(619, 2515);
    assert.equal(cache.get(1327), null);
    cache.put(11, 2877);
    cache.put(452, 2211);
    cache.put(763, 399);
    assert.equal(cache.get(393), 3149);
    assert.equal(cache.get(1298), 1778);
    assert.equal(cache.get(140), 2904);
    cache.put(1202, 210);
    cache.put(1015, 392);
    assert.equal(cache.get(1281), 1100);
    assert.equal(cache.get(121), 2576);
    cache.put(207, 1018);
    cache.put(703, 1947);
    cache.put(555, 2997);
    cache.put(994, 1879);
    assert.equal(cache.get(564), null);
    assert.equal(cache.get(26), 1415);
    assert.equal(cache.get(1362), null);
    assert.equal(cache.get(1125), null);
    assert.equal(cache.get(216), 2159);
    cache.put(547, 1966);
    cache.put(655, 1400);
    assert.equal(cache.get(749), 1506);
    cache.put(870, 2761);
    assert.equal(cache.get(886), null);
    cache.put(1140, 346);
    assert.equal(cache.get(966), 3226);
    cache.put(785, 2694);
    cache.put(313, 1510);
    cache.put(779, 2079);
    cache.put(901, 782);
    cache.put(575, 473);
    assert.equal(cache.get(249), 2697);
    assert.equal(cache.get(1047), 959);
    assert.equal(cache.get(276), null);
    assert.equal(cache.get(797), 2087);
    cache.put(1253, 2585);
    cache.put(23, 604);
    cache.put(5, 1810);
    cache.put(1115, 863);
    cache.put(42, 1296);
    cache.put(807, 3151);
    assert.equal(cache.get(280), 1322);
    cache.put(112, 2313);
    assert.equal(cache.get(37), 1472);
    cache.put(1047, 2363);
    cache.put(431, 2);
    assert.equal(cache.get(986), 2280);
    assert.equal(cache.get(1342), 2165);
    assert.equal(cache.get(855), 366);
    assert.equal(cache.get(810), 206);
    assert.equal(cache.get(606), null);
    assert.equal(cache.get(1137), 2179);
    assert.equal(cache.get(1204), 434);
    cache.put(493, 1537);
    cache.put(313, 2813);
    cache.put(86, 1868);
    cache.put(632, 787);
    assert.equal(cache.get(907), 1257);
    cache.put(546, 3296);
    cache.put(663, 1308);
    cache.put(339, 420);
    cache.put(50, 866);
    cache.put(1273, 815);
    assert.equal(cache.get(1306), null);
    assert.equal(cache.get(1061), 2210);
    cache.put(1079, 2366);
    cache.put(299, 1650);
    cache.put(649, 1886);
    assert.equal(cache.get(835), 2946);
    cache.put(415, 202);
    assert.equal(cache.get(2), 3275);
    assert.equal(cache.get(1156), 113);
    cache.put(680, 1300);
    assert.equal(cache.get(810), 206);
    cache.put(35, 2356);
    cache.put(608, 3144);
    cache.put(910, 3206);
    assert.equal(cache.get(261), 1623);
    assert.equal(cache.get(219), 2881);
    cache.put(665, 1108);
    cache.put(1320, 230);
    cache.put(979, 66);
    cache.put(1230, 2910);
    cache.put(1047, 1686);
    assert.equal(cache.get(46), 2801);
    assert.equal(cache.get(1303), null);
    assert.equal(cache.get(374), 1215);
    cache.put(641, 3115);
    assert.equal(cache.get(367), 2581);
    assert.equal(cache.get(105), 1152);
    assert.equal(cache.get(137), 2466);
    cache.put(197, 3258);
    cache.put(1080, 983);
    cache.put(787, 1508);
    cache.put(1115, 2069);
    cache.put(1320, 1665);
    assert.equal(cache.get(239), 2736);
    cache.put(1104, 1843);
    assert.equal(cache.get(30), 607);
    assert.equal(cache.get(527), 2813);
    cache.put(1188, 2637);
    assert.equal(cache.get(1023), 2262);
    assert.equal(cache.get(843), 1854);
    assert.equal(cache.get(978), 2208);
    cache.put(68, 1847);
    cache.put(517, 460);
    cache.put(351, 1432);
    cache.put(561, 2162);
    cache.put(214, 3183);
    assert.equal(cache.get(1330), 233);
    assert.equal(cache.get(1256), 2158);
    cache.put(1173, 2967);
    cache.put(148, 2072);
    assert.equal(cache.get(550), 1123);
    cache.put(329, 688);
    cache.put(1192, 3177);
    assert.equal(cache.get(535), 1018);
    assert.equal(cache.get(584), 2215);
    assert.equal(cache.get(200), 249);
    assert.equal(cache.get(271), 3091);
    cache.put(1317, 63);
    cache.put(1218, 1393);
    cache.put(946, 2429);
    cache.put(57, 2218);
    cache.put(814, 793);
    assert.equal(cache.get(1035), null);
    assert.equal(cache.get(909), 2451);
    cache.put(1128, 1);
    cache.put(1144, 1205);
    cache.put(855, 1860);
    assert.equal(cache.get(1082), 2986);
    cache.put(1025, 1717);
    assert.equal(cache.get(569), 2887);
    assert.equal(cache.get(988), null);
    assert.equal(cache.get(50), null);
    cache.put(68, 524);
    assert.equal(cache.get(506), 2523);
    assert.equal(cache.get(727), 2957);
    cache.put(1033, 2407);
    assert.equal(cache.get(1048), 1266);
    cache.put(1246, 246);
    assert.equal(cache.get(1306), null);
    assert.equal(cache.get(577), null);
    assert.equal(cache.get(890), null);
    assert.equal(cache.get(756), 2755);
    cache.put(741, 11);
    cache.put(691, 3260);
    cache.put(987, 2169);
    assert.equal(cache.get(91), 283);
    assert.equal(cache.get(1191), 3175);
    cache.put(1082, 575);
    assert.equal(cache.get(431), 2);
    cache.put(1048, 3267);
    cache.put(320, 834);
    assert.equal(cache.get(896), 404);
    cache.put(1351, 1299);
    assert.equal(cache.get(184), 2525);
    assert.equal(cache.get(977), 881);
    cache.put(146, 1927);
    cache.put(413, 177);
    cache.put(1087, 1758);
    assert.equal(cache.get(217), 3168);
    assert.equal(cache.get(632), 787);
    cache.put(1225, 1627);
    assert.equal(cache.get(1180), 1761);
    cache.put(504, 1619);
    assert.equal(cache.get(754), 1958);
    assert.equal(cache.get(1000), 2440);
    cache.put(316, 3062);
    assert.equal(cache.get(167), 1645);
    assert.equal(cache.get(464), 1092);
    cache.put(1242, 2052);
    cache.put(614, 1750);
    cache.put(675, 2658);
    cache.put(23, 881);
    assert.equal(cache.get(1105), 1349);
    cache.put(1428, 2755);
    cache.put(12, 905);
    assert.equal(cache.get(1349), 1400);
    cache.put(383, 931);
    assert.equal(cache.get(1216), 510);
    assert.equal(cache.get(652), 1539);
    cache.put(260, 1596);
    assert.equal(cache.get(191), 458);
    assert.equal(cache.get(1143), 2189);
    assert.equal(cache.get(1135), 1485);
    cache.put(948, 2586);
    cache.put(240, 1092);
    cache.put(733, 2954);
    assert.equal(cache.get(1260), null);
    cache.put(565, 625);
    assert.equal(cache.get(399), 1872);
    assert.equal(cache.get(1098), 2993);
    assert.equal(cache.get(393), 3149);
    assert.equal(cache.get(817), 3029);
    cache.put(1100, 1686);
    cache.put(1333, 1394);
    assert.equal(cache.get(41), 1740);
    cache.put(1395, 2275);
    cache.put(425, 1151);
    cache.put(788, 2921);
    cache.put(925, 1440);
    cache.put(475, 958);
    assert.equal(cache.get(259), 2530);
    cache.put(811, 868);
    cache.put(132, 1535);
    assert.equal(cache.get(989), 474);
    cache.put(1013, 1239);
    assert.equal(cache.get(411), null);
    cache.put(1359, 670);
    cache.put(1283, 794);
    cache.put(894, 102);
    cache.put(1268, 2406);
    cache.put(1050, 3060);
    cache.put(172, 2765);
    cache.put(1274, 1591);
    assert.equal(cache.get(45), 3095);
    cache.put(707, 2542);
    cache.put(987, 1903);
    cache.put(1398, 3020);
    assert.equal(cache.get(1427), 1926);
    assert.equal(cache.get(1026), null);
    cache.put(317, 1606);
    cache.put(385, 2076);
    assert.equal(cache.get(970), 2586);
    cache.put(733, 1842);
    cache.put(1076, 2322);
    cache.put(988, 2464);
    assert.equal(cache.get(1282), 2133);
    assert.equal(cache.get(66), 3127);
    assert.equal(cache.get(1106), 2376);
    assert.equal(cache.get(668), 649);
    assert.equal(cache.get(634), null);
    assert.equal(cache.get(647), 1078);
    cache.put(493, 650);
    cache.put(526, 1241);
    cache.put(255, 3137);
    assert.equal(cache.get(661), 924);
    cache.put(1207, 377);
    cache.put(556, 1200);
    cache.put(963, 18);
    cache.put(1309, 446);
    cache.put(1362, 1713);
    assert.equal(cache.get(729), 1818);
    cache.put(991, 3110);
    cache.put(1020, 1666);
    cache.put(854, 2361);
    assert.equal(cache.get(1271), 1402);
    cache.put(1365, 2836);
    assert.equal(cache.get(845), 1361);
    cache.put(1334, 2475);
    assert.equal(cache.get(1037), 1127);
    cache.put(1186, 3064);
    cache.put(235, 1121);
    cache.put(406, 3293);
    cache.put(381, 1219);
    assert.equal(cache.get(942), 2793);
    cache.put(139, 3241);
    cache.put(1139, 1616);
    cache.put(708, 2970);
    assert.equal(cache.get(1366), 2816);
    cache.put(515, 1823);
    assert.equal(cache.get(894), 102);
    assert.equal(cache.get(185), 279);
    cache.put(927, 3173);
    cache.put(823, 736);
    cache.put(1130, 1395);
    cache.put(377, 618);
    cache.put(252, 2461);
    assert.equal(cache.get(190), 1531);
    assert.equal(cache.get(1125), null);
    cache.put(8, 320);
    cache.put(107, 1948);
    cache.put(340, 277);
    assert.equal(cache.get(1158), 861);
    assert.equal(cache.get(1289), null);
    assert.equal(cache.get(1044), 1661);
    assert.equal(cache.get(797), 2087);
    assert.equal(cache.get(351), 1432);
    assert.equal(cache.get(1161), null);
    assert.equal(cache.get(1152), 1990);
    assert.equal(cache.get(35), 2356);
    assert.equal(cache.get(249), 2697);
    assert.equal(cache.get(671), null);
    assert.equal(cache.get(946), null);
    assert.equal(cache.get(1180), 1761);
    assert.equal(cache.get(742), null);
    assert.equal(cache.get(524), 1464);
    cache.put(44, 3090);
    assert.equal(cache.get(1045), 1161);
    cache.put(1186, 2991);
    assert.equal(cache.get(1314), 875);
    cache.put(795, 2668);
    cache.put(994, 154);
    cache.put(583, 217);
    cache.put(513, 885);
    cache.put(877, 1779);
    cache.put(397, 1024);
    cache.put(159, 3230);
    assert.equal(cache.get(1036), null);
    cache.put(863, 2457);
    cache.put(459, 610);
    assert.equal(cache.get(1238), 1813);
    cache.put(1049, 1685);
    assert.equal(cache.get(687), 2182);
    cache.put(1364, 1252);
    assert.equal(cache.get(543), 2678);
    assert.equal(cache.get(149), 2396);
    assert.equal(cache.get(1118), null);
    assert.equal(cache.get(1199), 424);
    assert.equal(cache.get(602), 3182);
    cache.put(259, 106);
    cache.put(441, 52);
    assert.equal(cache.get(445), 1701);
    cache.put(32, 3143);
    assert.equal(cache.get(942), 2793);
    cache.put(692, 2873);
    cache.put(449, 1204);
    assert.equal(cache.get(793), 1056);
    cache.put(896, 803);
    cache.put(215, 3121);
    assert.equal(cache.get(922), 1566);
    cache.put(91, 18);
    assert.equal(cache.get(791), 2995);
    assert.equal(cache.get(1357), null);
    assert.equal(cache.get(859), 89);
    cache.put(1051, 2996);
    cache.put(480, 1885);
    cache.put(1428, 1386);
    assert.equal(cache.get(1108), 2692);
    cache.put(1400, 2985);
    cache.put(396, 1140);
    cache.put(1374, 214);
    cache.put(874, 6);
    assert.equal(cache.get(1400), 2985);
    cache.put(171, 1509);
    cache.put(1008, 1988);
    assert.equal(cache.get(1248), 2831);
    cache.put(541, 708);
    assert.equal(cache.get(953), 2010);
    cache.put(1011, 2592);
    assert.equal(cache.get(1222), 3209);
    cache.put(384, 496);
    assert.equal(cache.get(32), 3143);
    assert.equal(cache.get(921), 520);
    cache.put(1328, 2483);
    assert.equal(cache.get(782), 195);
    cache.put(701, 2722);
    cache.put(1335, 1489);
    assert.equal(cache.get(377), null);
    cache.put(498, 931);
    cache.put(1398, 2085);
    assert.equal(cache.get(1153), 2668);
    cache.put(139, 317);
    assert.equal(cache.get(151), 1235);
    cache.put(1113, 1599);
    assert.equal(cache.get(460), 2259);
    cache.put(324, 1131);
    cache.put(772, 1074);
    cache.put(323, 1413);
    assert.equal(cache.get(82), 509);
    assert.equal(cache.get(134), 816);
    cache.put(495, 181);
    cache.put(437, 1232);
    cache.put(1156, 1882);
    assert.equal(cache.get(843), 1854);
    cache.put(527, 291);
    assert.equal(cache.get(415), null);
    cache.put(1337, 885);
    cache.put(245, 231);
    cache.put(342, 2294);
    assert.equal(cache.get(807), 3151);
    assert.equal(cache.get(290), 2394);
    cache.put(185, 1845);
    assert.equal(cache.get(216), 2159);
    cache.put(887, 1466);
    cache.put(1329, 274);
    assert.equal(cache.get(394), 2558);
    assert.equal(cache.get(1037), 1127);
    assert.equal(cache.get(1217), 1184);
    cache.put(1249, 3188);
    cache.put(424, 3261);
    cache.put(959, 746);
    cache.put(684, 3121);
    cache.put(515, 2970);
    cache.put(203, 2397);
    assert.equal(cache.get(450), 2296);
    assert.equal(cache.get(160), 2646);
    cache.put(23, 1515);
    assert.equal(cache.get(1163), 2477);
    assert.equal(cache.get(957), null);
    assert.equal(cache.get(932), 1301);
    cache.put(512, 1025);
    assert.equal(cache.get(528), null);
    cache.put(829, 3289);
    assert.equal(cache.get(1372), 1944);
    cache.put(188, 422);
    cache.put(383, 2436);
    assert.equal(cache.get(260), null);
    cache.put(261, 2057);
    cache.put(396, 3139);
    cache.put(1030, 486);
    assert.equal(cache.get(615), 1054);
    cache.put(479, 153);
    cache.put(1395, 377);
    cache.put(249, 1734);
    cache.put(1354, 2061);
    cache.put(1364, 187);
    cache.put(803, 2364);
    cache.put(1415, 1737);
    cache.put(1354, 1535);
    cache.put(1274, 1873);
    assert.equal(cache.get(656), null);
    assert.equal(cache.get(814), 793);
    cache.put(150, 2004);
    assert.equal(cache.get(1389), null);
    cache.put(1063, 1685);
    assert.equal(cache.get(1393), null);
    cache.put(517, 2841);
    cache.put(1047, 1681);
    cache.put(1192, 621);
    cache.put(1078, 2014);
    assert.equal(cache.get(620), 1988);
    assert.equal(cache.get(1143), 2189);
    cache.put(876, 1854);
    cache.put(1253, 1202);
    cache.put(961, 2758);
    cache.put(233, 2385);
    assert.equal(cache.get(80), 2073);
    assert.equal(cache.get(503), 1008);
    cache.put(1309, 3259);
    cache.put(915, 159);
    cache.put(991, 3145);
    assert.equal(cache.get(1247), null);
    cache.put(163, 1845);
    cache.put(1035, 1141);
    assert.equal(cache.get(1216), 510);
    cache.put(1048, 1888);
    cache.put(693, 2886);
    cache.put(9, 2427);
    cache.put(971, 1971);
    assert.equal(cache.get(168), 2118);
    cache.put(952, 1841);
    assert.equal(cache.get(1307), null);
    cache.put(948, 2001);
    assert.equal(cache.get(1412), null);
    cache.put(709, 2572);
    cache.put(546, 1757);
    assert.equal(cache.get(673), null);
    cache.put(688, 1585);
    cache.put(316, 714);
    assert.equal(cache.get(740), 3148);
    cache.put(312, 424);
    assert.equal(cache.get(396), 3139);
    assert.equal(cache.get(1329), null);
    cache.put(41, 2303);
    cache.put(721, 171);
    cache.put(1355, 2535);
    assert.equal(cache.get(906), 2252);
    assert.equal(cache.get(959), 746);
    cache.put(111, 1101);
    assert.equal(cache.get(1015), 392);
    cache.put(826, 3131);
    assert.equal(cache.get(821), 1647);
    assert.equal(cache.get(1386), 1955);
    cache.put(1358, 867);
    cache.put(197, 729);
    assert.equal(cache.get(747), 809);
    cache.put(251, 3071);
    cache.put(1231, 3107);
    cache.put(1381, 2098);
    cache.put(547, 1323);
    assert.equal(cache.get(1429), 2108);
    cache.put(706, 3036);
    cache.put(1121, 528);
    cache.put(1348, 1315);
    assert.equal(cache.get(283), 3166);
    cache.put(535, 2447);
    cache.put(1422, 100);
    cache.put(540, 599);
    assert.equal(cache.get(549), 1084);
    assert.equal(cache.get(10), 480);
    cache.put(1349, 813);
    assert.equal(cache.get(1392), null);
    cache.put(317, 777);
    assert.equal(cache.get(698), 105);
    assert.equal(cache.get(208), 257);
    assert.equal(cache.get(1356), 543);
    cache.put(1260, 2838);
    assert.equal(cache.get(1319), null);
    cache.put(232, 1348);
    assert.equal(cache.get(488), 1089);
    assert.equal(cache.get(955), null);
    cache.put(263, 3228);
    assert.equal(cache.get(163), null);
    assert.equal(cache.get(1376), null);
    cache.put(519, 2698);
    assert.equal(cache.get(1269), 47);
    assert.equal(cache.get(1027), 1498);
    assert.equal(cache.get(115), 595);
    cache.put(285, 2799);
    cache.put(1388, 2614);
    assert.equal(cache.get(978), 2208);
    cache.put(366, 865);
    cache.put(949, 1137);
    assert.equal(cache.get(976), 970);
    assert.equal(cache.get(260), null);
    assert.equal(cache.get(290), 2394);
    cache.put(607, 2504);
    cache.put(355, 1038);
    assert.equal(cache.get(452), 2211);
    cache.put(1151, 1535);
    cache.put(70, 170);
    cache.put(258, 2910);
    assert.equal(cache.get(972), null);
    cache.put(143, 2159);
    assert.equal(cache.get(1228), 2574);
    cache.put(776, 3024);
    cache.put(35, 2975);
    assert.equal(cache.get(564), null);
    cache.put(931, 1219);
    assert.equal(cache.get(1293), 2596);
    cache.put(1109, 3149);
    assert.equal(cache.get(1314), 875);
    cache.put(386, 1251);
    cache.put(1401, 284);
    assert.equal(cache.get(65), null);
    cache.put(1170, 2003);
    assert.equal(cache.get(740), 3148);
    cache.put(1124, 2579);
    cache.put(945, 2418);
    cache.put(831, 1604);
    cache.put(1308, 1470);
    cache.put(119, 2467);
    cache.put(1167, 240);
    cache.put(821, 2523);
    assert.equal(cache.get(340), 277);
    cache.put(378, 1805);
    cache.put(1126, 50);
    assert.equal(cache.get(168), 2118);
    assert.equal(cache.get(1209), 2065);
    assert.equal(cache.get(895), 1831);
    assert.equal(cache.get(7), 778);
    cache.put(1401, 710);
    cache.put(869, 695);
    cache.put(237, 2521);
    cache.put(355, 3166);
    assert.equal(cache.get(1240), 2229);
    cache.put(204, 374);
    cache.put(48, 1682);
    assert.equal(cache.get(498), null);
    cache.put(129, 2931);
    assert.equal(cache.get(661), 924);
    assert.equal(cache.get(525), 761);
    cache.put(438, 2071);
    cache.put(290, 2685);
    assert.equal(cache.get(1228), 2574);
    cache.put(170, 2860);
    assert.equal(cache.get(74), null);
    cache.put(1220, 3094);
    cache.put(653, 1280);
    assert.equal(cache.get(1089), null);
    cache.put(1264, 2961);
    cache.put(791, 1552);
    assert.equal(cache.get(1121), null);
    cache.put(399, 2065);
    cache.put(917, 32);
    assert.equal(cache.get(270), 1463);
    assert.equal(cache.get(307), 430);
    assert.equal(cache.get(1108), 2692);
    cache.put(1075, 1792);
    assert.equal(cache.get(556), 1200);
    cache.put(545, 1489);
    cache.put(107, 3141);
    cache.put(1411, 2535);
    cache.put(1173, 1665);
    cache.put(998, 13);
    assert.equal(cache.get(494), 2275);
    assert.equal(cache.get(866), 2651);
    cache.put(825, 455);
    assert.equal(cache.get(629), 1303);
    cache.put(398, 1961);
    cache.put(1260, 2915);
    cache.put(532, 1781);
    cache.put(975, 2857);
    cache.put(587, 88);
    cache.put(1017, 1676);
    cache.put(1327, 88);
    assert.equal(cache.get(457), 1746);
    cache.put(659, 3157);
    assert.equal(cache.get(1252), 2307);
    cache.put(1199, 480);
    cache.put(308, 2839);
    assert.equal(cache.get(40), 3157);
    assert.equal(cache.get(523), null);
    assert.equal(cache.get(357), null);
    cache.put(543, 2696);
    cache.put(771, 1282);
    assert.equal(cache.get(664), null);
    cache.put(593, 1000);
    cache.put(463, 3103);
    cache.put(1086, 194);
    cache.put(1429, 2558);
    cache.put(131, 1296);
    cache.put(64, 758);
    cache.put(1023, 2754);
    cache.put(548, 3081);
    cache.put(1175, 199);
    assert.equal(cache.get(201), 593);
    cache.put(309, 1110);
    assert.equal(cache.get(1185), 29);
    assert.equal(cache.get(1022), 92);
    assert.equal(cache.get(663), null);
    assert.equal(cache.get(100), 118);
    assert.equal(cache.get(38), 3024);
    cache.put(694, 2790);
    assert.equal(cache.get(127), 1626);
    cache.put(1245, 1116);
    assert.equal(cache.get(579), 2321);
    cache.put(47, 2432);
    cache.put(77, 3091);
    cache.put(1100, 1264);
    cache.put(1156, 2222);
    cache.put(1147, 1550);
    cache.put(1403, 563);
    assert.equal(cache.get(608), null);
    assert.equal(cache.get(236), null);
    cache.put(240, 821);
    assert.equal(cache.get(1043), null);
    assert.equal(cache.get(595), 1381);
    cache.put(633, 3210);
    assert.equal(cache.get(49), null);
    cache.put(127, 2169);
    cache.put(1287, 3223);
    cache.put(998, 221);
    cache.put(1140, 2447);
    cache.put(1138, 174);
    assert.equal(cache.get(196), null);
    assert.equal(cache.get(1105), 1349);
    cache.put(199, 1640);
    cache.put(105, 1430);
    cache.put(514, 2123);
    assert.equal(cache.get(771), 1282);
    cache.put(672, 1513);
    cache.put(1326, 2497);
    cache.put(570, 512);
    cache.put(1376, 273);
    cache.put(325, 599);
    cache.put(464, 589);
    assert.equal(cache.get(566), 1876);
    cache.put(481, 531);
    assert.equal(cache.get(34), 789);
    assert.equal(cache.get(1274), 1873);
    assert.equal(cache.get(186), 1140);
    assert.equal(cache.get(721), null);
    assert.equal(cache.get(994), 154);
    assert.equal(cache.get(417), null);
    assert.equal(cache.get(162), null);
    assert.equal(cache.get(623), 1422);
    assert.equal(cache.get(547), 1323);
    assert.equal(cache.get(75), null);
    assert.equal(cache.get(1079), 2366);
    assert.equal(cache.get(1274), 1873);
    assert.equal(cache.get(92), 3176);
    assert.equal(cache.get(255), 3137);
    cache.put(208, 256);
    cache.put(1054, 1798);
    cache.put(810, 1282);
    cache.put(57, 2718);
    cache.put(683, 2524);
    assert.equal(cache.get(5), null);
    cache.put(226, 2631);
    cache.put(476, 927);
    cache.put(796, 2290);
    cache.put(284, 2799);
    assert.equal(cache.get(739), 1139);
    cache.put(649, 3156);
    cache.put(1191, 2220);
    cache.put(70, 1096);
    cache.put(1296, 265);
    cache.put(1094, 2616);
    cache.put(249, 1004);
    assert.equal(cache.get(1351), null);
    assert.equal(cache.get(1057), 1716);
    cache.put(335, 1027);
    assert.equal(cache.get(1038), 2019);
    cache.put(448, 2358);
    cache.put(506, 33);
    cache.put(1033, 2553);
    cache.put(126, 2968);
    cache.put(1142, 2145);
    cache.put(872, 2270);
    cache.put(1315, 2235);
    cache.put(403, 2670);
    cache.put(1200, 1467);
    cache.put(709, 2572);
    assert.equal(cache.get(267), 1894);
    assert.equal(cache.get(628), 1481);
    cache.put(505, 3221);
    cache.put(990, 294);
    assert.equal(cache.get(43), 1830);
    cache.put(1193, 48);
    cache.put(38, 1006);
    cache.put(1221, 1458);
    cache.put(646, 1379);
    cache.put(523, 1182);
    cache.put(1125, 1342);
    assert.equal(cache.get(168), 2118);
    assert.equal(cache.get(903), null);
    assert.equal(cache.get(316), 714);
    cache.put(653, 2276);
    cache.put(92, 490);
    cache.put(787, 349);
    cache.put(111, 2037);
    cache.put(873, 523);
    cache.put(1409, 1633);
    assert.equal(cache.get(597), 788);
    cache.put(1340, 1783);
    cache.put(926, 1784);
    cache.put(480, 1914);
    cache.put(1251, 1244);
    assert.equal(cache.get(975), 2857);
    assert.equal(cache.get(772), 1074);
    assert.equal(cache.get(319), null);
    cache.put(1286, 1177);
    assert.equal(cache.get(385), null);
    assert.equal(cache.get(933), 617);
    assert.equal(cache.get(693), 2886);
    assert.equal(cache.get(318), 190);
    cache.put(32, 1270);
    assert.equal(cache.get(1415), 1737);
    assert.equal(cache.get(53), null);
    assert.equal(cache.get(419), 1788);
    cache.put(1123, 2594);
    assert.equal(cache.get(192), 2702);
    assert.equal(cache.get(525), 761);
    assert.equal(cache.get(1358), 867);
    cache.put(377, 2921);
    cache.put(1187, 236);
    assert.equal(cache.get(104), 1094);
    cache.put(684, 2968);
    assert.equal(cache.get(716), 563);
    cache.put(724, 3113);
    cache.put(293, 1600);
    assert.equal(cache.get(858), 1109);
    assert.equal(cache.get(529), 2522);
    assert.equal(cache.get(1096), 2900);
    assert.equal(cache.get(328), 2333);
    cache.put(1290, 2030);
    cache.put(1002, 2971);
    assert.equal(cache.get(821), 2523);
    cache.put(533, 996);
    cache.put(1240, 1702);
    assert.equal(cache.get(387), 1064);
    cache.put(371, 2281);
    assert.equal(cache.get(736), 1160);
    assert.equal(cache.get(516), 917);
    cache.put(1351, 785);
    cache.put(520, 2416);
    cache.put(597, 2170);
    cache.put(1203, 2922);
    cache.put(591, 1680);
    assert.equal(cache.get(1200), null);
    assert.equal(cache.get(1032), 2924);
    cache.put(39, 3111);
    cache.put(127, 963);
    assert.equal(cache.get(567), null);
    cache.put(1079, 2405);
    assert.equal(cache.get(146), 1927);
    cache.put(449, 1115);
    cache.put(321, 300);
    assert.equal(cache.get(731), 3216);
    cache.put(109, 726);
    assert.equal(cache.get(1288), 2604);
    assert.equal(cache.get(1122), 3046);
    cache.put(1044, 1911);
    assert.equal(cache.get(395), null);
    cache.put(196, 1207);
    cache.put(1100, 613);
    assert.equal(cache.get(727), 2957);
    cache.put(257, 1433);
    cache.put(86, 1667);
    cache.put(259, 2962);
    assert.equal(cache.get(258), 2910);
    cache.put(180, 3169);
    cache.put(1283, 2721);
    assert.equal(cache.get(37), 1472);
    assert.equal(cache.get(1066), 1444);
    cache.put(890, 2643);
    assert.equal(cache.get(1122), 3046);
    cache.put(762, 192);
    assert.equal(cache.get(160), 2646);
    assert.equal(cache.get(343), 3211);
    assert.equal(cache.get(968), 363);
    assert.equal(cache.get(488), 1089);
    assert.equal(cache.get(523), null);
    assert.equal(cache.get(1387), 1336);
    assert.equal(cache.get(1128), 1);
    cache.put(897, 40);
    cache.put(575, 261);
    assert.equal(cache.get(1274), 1873);
    cache.put(1356, 646);
    cache.put(156, 2855);
    cache.put(964, 1089);
    assert.equal(cache.get(601), null);
    cache.put(1004, 2888);
    assert.equal(cache.get(1156), 2222);
    cache.put(1069, 3179);
    cache.put(11, 1252);
    cache.put(196, 1659);
    assert.equal(cache.get(165), null);
    cache.put(192, 2261);
    assert.equal(cache.get(510), 2512);
    assert.equal(cache.get(187), null);
    cache.put(504, 1865);
    cache.put(1292, 2934);
    cache.put(895, 3026);
    assert.equal(cache.get(1000), 2440);
    cache.put(858, 1707);
    cache.put(895, 2218);
    cache.put(551, 1305);
    cache.put(365, 2743);
    cache.put(686, 1748);
    assert.equal(cache.get(400), 119);
    cache.put(997, 1533);
    cache.put(1275, 1536);
    assert.equal(cache.get(635), 1722);
    cache.put(1122, 3190);
    cache.put(611, 726);
    cache.put(1147, 591);
    cache.put(506, 2739);
    cache.put(373, 2292);
    cache.put(665, 610);
    assert.equal(cache.get(805), null);
    assert.equal(cache.get(919), null);
    cache.put(383, 3222);
    assert.equal(cache.get(493), 650);
    cache.put(1066, 1128);
    cache.put(759, 207);
    cache.put(883, 828);
    assert.equal(cache.get(285), 2799);
    assert.equal(cache.get(832), 2958);
    cache.put(342, 1212);
    assert.equal(cache.get(614), 1750);
    assert.equal(cache.get(186), 1140);
    cache.put(1254, 606);
    cache.put(15, 1248);
    assert.equal(cache.get(1001), null);
    cache.put(993, 1724);
    cache.put(53, 2363);
    assert.equal(cache.get(246), null);
    assert.equal(cache.get(1207), 377);
    assert.equal(cache.get(1317), 63);
    cache.put(234, 3229);
    cache.put(993, 1186);
    cache.put(1054, 870);
    cache.put(1056, 3140);
    assert.equal(cache.get(736), 1160);
    assert.equal(cache.get(131), 1296);
    cache.put(971, 131);
    cache.put(488, 243);
    cache.put(274, 2288);
    assert.equal(cache.get(809), 1031);
    cache.put(1269, 1858);
    cache.put(473, 3029);
    cache.put(357, 2041);
    cache.put(192, 35);
    cache.put(1193, 537);
    cache.put(905, 3163);
    assert.equal(cache.get(1334), null);
    cache.put(172, 136);
    cache.put(707, 2254);
    assert.equal(cache.get(1172), 553);
    assert.equal(cache.get(1040), 2228);
    assert.equal(cache.get(83), 966);
    cache.put(1009, 1522);
    assert.equal(cache.get(1220), 3094);
    cache.put(117, 1034);
    cache.put(87, 755);
    assert.equal(cache.get(1232), 1813);
    cache.put(461, 2660);
    assert.equal(cache.get(817), 3029);
    assert.equal(cache.get(564), null);
    assert.equal(cache.get(1055), 2114);
    assert.equal(cache.get(1241), 2599);
    cache.put(1296, 1532);
    assert.equal(cache.get(1231), 3107);
    cache.put(826, 2970);
    assert.equal(cache.get(988), null);
    assert.equal(cache.get(568), null);
    cache.put(1273, 2370);
    cache.put(31, 2494);
    cache.put(47, 2394);
    assert.equal(cache.get(120), null);
    cache.put(841, 2083);
    assert.equal(cache.get(589), null);
    cache.put(133, 3054);
    cache.put(824, 56);
    cache.put(483, 730);
    assert.equal(cache.get(370), null);
    cache.put(1042, 2784);
    cache.put(294, 1195);
    assert.equal(cache.get(1257), 2142);
    cache.put(1227, 1589);
    assert.equal(cache.get(96), 3107);
    cache.put(1370, 626);
    cache.put(356, 91);
    assert.equal(cache.get(1419), 3269);
    assert.equal(cache.get(1131), null);
    assert.equal(cache.get(888), 2348);
    cache.put(408, 726);
    cache.put(1361, 1336);
    cache.put(545, 1728);
    cache.put(470, 2493);
    cache.put(723, 2592);
    cache.put(980, 1577);
    cache.put(234, 2179);
    cache.put(343, 2413);
    cache.put(1168, 1273);
    cache.put(1240, 1736);
    assert.equal(cache.get(111), 2037);
    assert.equal(cache.get(254), 2505);
    assert.equal(cache.get(868), 3066);
    cache.put(1327, 877);
    cache.put(104, 2780);
    assert.equal(cache.get(1227), null);
    assert.equal(cache.get(851), null);
    cache.put(1254, 2986);
    cache.put(846, 2380);
    assert.equal(cache.get(811), null);
    assert.equal(cache.get(525), 761);
    assert.equal(cache.get(1149), 121);
    cache.put(1029, 2540);
    cache.put(1198, 879);
    cache.put(227, 2054);
    assert.equal(cache.get(1065), 3236);
    assert.equal(cache.get(392), 1796);
    assert.equal(cache.get(780), 1950);
    assert.equal(cache.get(406), 3293);
    cache.put(1365, 1588);
    cache.put(1379, 545);
    cache.put(907, 3044);
    cache.put(241, 1641);
    assert.equal(cache.get(491), 1921);
    assert.equal(cache.get(1172), 553);
    cache.put(236, 248);
    assert.equal(cache.get(154), 2916);
    cache.put(1396, 902);
    assert.equal(cache.get(998), 221);
    cache.put(974, 2920);
    cache.put(591, 2595);
    assert.equal(cache.get(320), 834);
    cache.put(1076, 2989);
    cache.put(654, 591);
    cache.put(998, 1330);
    cache.put(808, 1879);
    cache.put(751, 1382);
    cache.put(749, 554);
    cache.put(321, 3247);
    cache.put(954, 995);
    assert.equal(cache.get(225), 787);
    cache.put(1359, 1314);
    assert.equal(cache.get(235), 1121);
    assert.equal(cache.get(525), 761);
    assert.equal(cache.get(1208), 2177);
    assert.equal(cache.get(343), 2413);
    cache.put(819, 87);
    cache.put(737, 2262);
    cache.put(595, 2913);
    cache.put(711, 1527);
    cache.put(707, 2659);
    assert.equal(cache.get(549), 1084);
    assert.equal(cache.get(605), 2182);
    cache.put(434, 2280);
    cache.put(553, 1420);
    assert.equal(cache.get(1410), 1473);
    cache.put(1060, 1275);
    cache.put(221, 1446);
    cache.put(1287, 2627);
    cache.put(44, 2952);
    assert.equal(cache.get(916), 3287);
    cache.put(98, 827);
    assert.equal(cache.get(1035), null);
    cache.put(274, 36);
    assert.equal(cache.get(58), 1724);
    assert.equal(cache.get(586), 1222);
    cache.put(91, 2455);
    cache.put(831, 1172);
    cache.put(129, 3065);
    assert.equal(cache.get(1257), 2142);
    assert.equal(cache.get(1301), 1884);
    assert.equal(cache.get(1422), 100);
    assert.equal(cache.get(1122), 3190);
    assert.equal(cache.get(593), null);
    cache.put(1165, 329);
    assert.equal(cache.get(469), 1569);
    cache.put(1277, 2956);
    cache.put(63, 1801);
    assert.equal(cache.get(281), 567);
    assert.equal(cache.get(1032), 2924);
    cache.put(175, 2830);
    assert.equal(cache.get(123), null);
    assert.equal(cache.get(1400), 2985);
    cache.put(1406, 830);
    cache.put(179, 2674);
    cache.put(137, 2288);
    cache.put(1177, 790);
    assert.equal(cache.get(369), null);
    cache.put(282, 1730);
    cache.put(464, 627);
    assert.equal(cache.get(658), 1001);
    cache.put(1059, 983);
    cache.put(100, 1172);
    cache.put(640, 3298);
    cache.put(1113, 1764);
    cache.put(140, 2053);
    assert.equal(cache.get(1329), null);
    assert.equal(cache.get(1297), 1578);
    assert.equal(cache.get(46), 2801);
    cache.put(536, 410);
    cache.put(598, 492);
    assert.equal(cache.get(1302), 998);
    assert.equal(cache.get(286), 1481);
    cache.put(224, 920);
    cache.put(778, 1072);
    cache.put(494, 2098);
    cache.put(863, 2309);
    cache.put(872, 225);
    cache.put(146, 904);
    assert.equal(cache.get(344), 1549);
    assert.equal(cache.get(288), 231);
    assert.equal(cache.get(418), 2099);
    cache.put(802, 282);
    assert.equal(cache.get(65), null);
    assert.equal(cache.get(677), 91);
    cache.put(382, 20);
    assert.equal(cache.get(226), 2631);
    cache.put(169, 2672);
    cache.put(683, 1278);
    assert.equal(cache.get(1246), 246);
    cache.put(1165, 3074);
    cache.put(676, 1759);
    assert.equal(cache.get(1143), 2189);
    assert.equal(cache.get(486), 196);
    assert.equal(cache.get(391), 1610);
    assert.equal(cache.get(1101), 809);
    assert.equal(cache.get(1340), 1783);
    assert.equal(cache.get(1422), 100);
    cache.put(768, 278);
    cache.put(511, 2753);
    cache.put(1367, 2554);
    assert.equal(cache.get(349), 1512);
    cache.put(278, 2418);
    cache.put(2, 219);
    cache.put(842, 790);
    assert.equal(cache.get(668), 649);
    cache.put(467, 2127);
    assert.equal(cache.get(735), 2814);
    cache.put(935, 150);
    cache.put(1183, 1917);
    cache.put(1397, 2319);
    assert.equal(cache.get(611), 726);
    cache.put(373, 2897);
    cache.put(632, 1481);
    assert.equal(cache.get(1343), 1250);
    cache.put(955, 1086);
    cache.put(834, 1350);
    assert.equal(cache.get(181), 792);
    assert.equal(cache.get(1239), null);
    cache.put(326, 1227);
    cache.put(1264, 893);
    cache.put(165, 767);
    assert.equal(cache.get(1378), 2475);
    cache.put(1172, 1177);
    assert.equal(cache.get(916), 3287);
    assert.equal(cache.get(581), 2652);
    assert.equal(cache.get(802), 282);
    cache.put(123, 1505);
    assert.equal(cache.get(103), 264);
    assert.equal(cache.get(1175), 199);
    cache.put(550, 2808);
    assert.equal(cache.get(220), 1589);
    assert.equal(cache.get(629), 1303);
    assert.equal(cache.get(203), 2397);
    assert.equal(cache.get(26), 1415);
    assert.equal(cache.get(862), 2498);
    cache.put(1118, 570);
    cache.put(295, 1203);
    cache.put(1088, 2992);
    cache.put(689, 384);
    cache.put(566, 2611);
    assert.equal(cache.get(1140), null);
    assert.equal(cache.get(686), null);
    assert.equal(cache.get(409), 2502);
    cache.put(123, 959);
    cache.put(470, 1391);
    cache.put(820, 2107);
    assert.equal(cache.get(709), null);
    assert.equal(cache.get(1039), 1331);
    assert.equal(cache.get(808), 1879);
    cache.put(930, 887);
    cache.put(893, 2144);
    cache.put(904, 2311);
    cache.put(280, 482);
    assert.equal(cache.get(294), 1195);
    assert.equal(cache.get(1170), 2003);
    assert.equal(cache.get(1232), 1813);
    assert.equal(cache.get(845), 1361);
    cache.put(689, 2681);
    cache.put(815, 2442);
    assert.equal(cache.get(133), 3054);
    assert.equal(cache.get(240), 821);
    assert.equal(cache.get(1332), 466);
    assert.equal(cache.get(337), 94);
    cache.put(132, 1938);
    cache.put(716, 2644);
    assert.equal(cache.get(1379), 545);
    cache.put(48, 355);
    assert.equal(cache.get(404), 1843);
    assert.equal(cache.get(341), 1680);
    assert.equal(cache.get(806), 2442);
    cache.put(1085, 2520);
    assert.equal(cache.get(578), 648);
    assert.equal(cache.get(167), 1645);
    assert.equal(cache.get(468), null);
    cache.put(1415, 2719);
    cache.put(259, 365);
    cache.put(317, 1078);
    cache.put(584, 571);
    assert.equal(cache.get(995), 2715);
    cache.put(528, 2085);
    assert.equal(cache.get(1110), 879);
    cache.put(60, 1696);
    assert.equal(cache.get(286), 1481);
    cache.put(392, 450);
    cache.put(593, 1222);
    cache.put(821, 1400);
    assert.equal(cache.get(27), 226);
    cache.put(434, 1481);
    cache.put(433, 1676);
    cache.put(871, 189);
    cache.put(568, 2228);
    assert.equal(cache.get(123), null);
    cache.put(998, 396);
    assert.equal(cache.get(609), 2212);
    cache.put(548, 612);
    cache.put(854, 2301);
    assert.equal(cache.get(872), 225);
    cache.put(247, 2710);
    cache.put(979, 2850);
    cache.put(1033, 355);
    assert.equal(cache.get(305), 2344);
    assert.equal(cache.get(310), 934);
    cache.put(167, 998);
    cache.put(1338, 1998);
    cache.put(825, 2480);
    cache.put(1095, 388);
    cache.put(41, 1678);
    cache.put(973, 1904);
    assert.equal(cache.get(710), 2059);
    cache.put(252, 2667);
    cache.put(277, 3210);
    assert.equal(cache.get(150), 2004);
    cache.put(1179, 911);
    assert.equal(cache.get(773), 2274);
    assert.equal(cache.get(1361), 1336);
    assert.equal(cache.get(598), 492);
    assert.equal(cache.get(886), null);
    cache.put(800, 688);
    cache.put(655, 667);
    cache.put(413, 1650);
    cache.put(1429, 464);
    assert.equal(cache.get(1215), 153);
    cache.put(393, 700);
    assert.equal(cache.get(563), 483);
    cache.put(659, 3031);
    assert.equal(cache.get(744), 1353);
    cache.put(587, 1397);
    cache.put(398, 1392);
    cache.put(75, 1856);
    cache.put(135, 915);
    assert.equal(cache.get(928), 2662);
    assert.equal(cache.get(992), 2286);
    cache.put(733, 760);
    cache.put(666, 1464);
    cache.put(379, 714);
    cache.put(128, 415);
    assert.equal(cache.get(1151), 1535);
    cache.put(138, 1125);
    assert.equal(cache.get(1219), 624);
    cache.put(1170, 1882);
    cache.put(993, 2094);
    cache.put(979, 1076);
    cache.put(635, 1092);
    cache.put(7, 296);
    cache.put(578, 1863);
    cache.put(699, 973);
    cache.put(364, 406);
    cache.put(858, 3020);
    assert.equal(cache.get(1029), 2540);
    cache.put(864, 439);
    assert.equal(cache.get(494), 2098);
    assert.equal(cache.get(552), 1013);
    cache.put(666, 2373);
    cache.put(513, 430);
    cache.put(984, 1222);
    cache.put(1101, 2155);
    assert.equal(cache.get(113), 1133);
    assert.equal(cache.get(954), 995);
    assert.equal(cache.get(993), 2094);
    cache.put(1177, 1462);
    cache.put(293, 2403);
    cache.put(789, 2261);
    cache.put(1090, 891);
    cache.put(1336, 1577);
    cache.put(1318, 2310);
    cache.put(493, 2141);
    assert.equal(cache.get(464), 627);
    assert.equal(cache.get(408), 726);
    assert.equal(cache.get(1384), 3208);
    cache.put(27, 697);
    cache.put(145, 625);
    cache.put(991, 2015);
    assert.equal(cache.get(48), 355);
    cache.put(387, 1847);
    assert.equal(cache.get(1409), 1633);
    cache.put(409, 1834);
    cache.put(1342, 2129);
    assert.equal(cache.get(436), null);
    cache.put(1214, 2824);
    cache.put(1274, 2219);
    cache.put(830, 12);
    assert.equal(cache.get(293), null);
    cache.put(418, 557);
    cache.put(1176, 2587);
    assert.equal(cache.get(941), 3303);
    cache.put(818, 1888);
    assert.equal(cache.get(1427), 1926);
    assert.equal(cache.get(1350), 2274);
    assert.equal(cache.get(430), 3116);
    cache.put(452, 3220);
    assert.equal(cache.get(990), null);
    assert.equal(cache.get(1340), 1783);
    cache.put(497, 1665);
    assert.equal(cache.get(373), 2897);
    cache.put(558, 2724);
    cache.put(1027, 1854);
    assert.equal(cache.get(11), null);
    cache.put(1013, 875);
    cache.put(701, 2190);
    cache.put(196, 2727);
    cache.put(1344, 298);
    assert.equal(cache.get(495), 181);
    assert.equal(cache.get(1162), 1056);
    cache.put(300, 1137);
    cache.put(627, 3213);
    cache.put(275, 1705);
    cache.put(292, 1612);
    cache.put(474, 2669);
    assert.equal(cache.get(1027), 1854);
    cache.put(46, 3062);
    cache.put(556, 3124);
    assert.equal(cache.get(1370), null);
    cache.put(1341, 1529);
    assert.equal(cache.get(516), 917);
    assert.equal(cache.get(444), null);
    assert.equal(cache.get(1249), 3188);
    assert.equal(cache.get(500), null);
    assert.equal(cache.get(476), null);
    assert.equal(cache.get(447), 57);
    cache.put(513, 848);
    cache.put(504, 2189);
    assert.equal(cache.get(986), 2280);
    cache.put(1037, 1545);
    cache.put(1235, 1412);
    cache.put(316, 1594);
    cache.put(664, 2731);
    assert.equal(cache.get(1260), null);
    assert.equal(cache.get(505), 3221);
    cache.put(1152, 1131);
    cache.put(892, 2890);
    cache.put(959, 1416);
    assert.equal(cache.get(636), null);
    assert.equal(cache.get(258), 2910);
    assert.equal(cache.get(1057), 1716);
    assert.equal(cache.get(578), 1863);
    assert.equal(cache.get(442), 325);
    assert.equal(cache.get(844), 628);
    assert.equal(cache.get(62), null);
    assert.equal(cache.get(1339), 1464);
    assert.equal(cache.get(1223), 60);
    cache.put(852, 1837);
    cache.put(1037, 3014);
    assert.equal(cache.get(1002), 2971);
    cache.put(147, 303);
    cache.put(1355, 2689);
    assert.equal(cache.get(255), 3137);
    cache.put(1217, 3281);
    cache.put(254, 139);
    cache.put(1064, 862);
    assert.equal(cache.get(685), 2291);
    assert.equal(cache.get(581), 2652);
    cache.put(94, 2602);
    assert.equal(cache.get(694), null);
    cache.put(98, 1651);
    cache.put(657, 1229);
    cache.put(383, 3170);
    assert.equal(cache.get(1193), 537);
    assert.equal(cache.get(694), null);
    cache.put(517, 1963);
    assert.equal(cache.get(492), 52);
    assert.equal(cache.get(158), null);
    assert.equal(cache.get(925), null);
    cache.put(1055, 2986);
    assert.equal(cache.get(1385), 2375);
    cache.put(714, 2869);
    assert.equal(cache.get(352), 894);
    assert.equal(cache.get(481), 531);
    cache.put(499, 3109);
    cache.put(359, 766);
    assert.equal(cache.get(59), 1936);
    assert.equal(cache.get(1063), 1685);
    cache.put(77, 2891);
    assert.equal(cache.get(961), 2758);
    cache.put(1293, 357);
    cache.put(1074, 630);
    cache.put(216, 1552);
    cache.put(734, 2828);
    assert.equal(cache.get(317), 1078);
    assert.equal(cache.get(181), 792);
    cache.put(643, 1552);
    assert.equal(cache.get(543), 2696);
    assert.equal(cache.get(565), 625);
    assert.equal(cache.get(1405), 103);
    assert.equal(cache.get(1317), 63);
    cache.put(294, 655);
    cache.put(1292, 2128);
    assert.equal(cache.get(73), 167);
    assert.equal(cache.get(95), null);
    assert.equal(cache.get(226), 2631);
    cache.put(1408, 2098);
    cache.put(1351, 1860);
    cache.put(776, 1716);
    cache.put(335, 1608);
    assert.equal(cache.get(411), null);
    assert.equal(cache.get(560), 10);
    cache.put(120, 2127);
    cache.put(740, 2218);
    assert.equal(cache.get(515), 2970);
    cache.put(484, 2609);
    assert.equal(cache.get(798), 516);
    assert.equal(cache.get(314), 2390);
    assert.equal(cache.get(276), null);
    cache.put(1209, 936);
    cache.put(883, 523);
    assert.equal(cache.get(241), 1641);
    assert.equal(cache.get(1181), 707);
    assert.equal(cache.get(763), 399);
    assert.equal(cache.get(644), 2820);
    cache.put(136, 2490);
    assert.equal(cache.get(1365), null);
    assert.equal(cache.get(932), 1301);
    cache.put(44, 1315);
    cache.put(871, 1645);
    cache.put(1099, 1859);
    cache.put(1125, 1958);
    cache.put(238, 330);
    assert.equal(cache.get(898), 1653);
    assert.equal(cache.get(25), 2029);
    cache.put(463, 1187);
    cache.put(1391, 2461);
    cache.put(1226, 3264);
    cache.put(1404, 1753);
    cache.put(1065, 1272);
    cache.put(910, 960);
    cache.put(288, 2700);
    assert.equal(cache.get(456), 3053);
    assert.equal(cache.get(713), null);
    cache.put(1358, 2395);
    assert.equal(cache.get(1183), 1917);
    assert.equal(cache.get(460), 2259);
    assert.equal(cache.get(1305), 2420);
    cache.put(996, 1568);
    cache.put(943, 1287);
    cache.put(606, 630);
    cache.put(1175, 2530);
    assert.equal(cache.get(1148), 2774);
    assert.equal(cache.get(1067), 1928);
    cache.put(393, 1836);
    assert.equal(cache.get(193), 1253);
    cache.put(1177, 2885);
    assert.equal(cache.get(1173), null);
    cache.put(644, 2750);
    assert.equal(cache.get(82), 509);
    assert.equal(cache.get(179), null);
    assert.equal(cache.get(1290), null);
    assert.equal(cache.get(559), 2844);
    cache.put(900, 392);
    assert.equal(cache.get(1306), null);
    cache.put(91, 2998);
    assert.equal(cache.get(693), 2886);
    cache.put(910, 2515);
    cache.put(280, 2254);
    cache.put(702, 2909);
    assert.equal(cache.get(145), 625);
    cache.put(922, 2660);
    assert.equal(cache.get(1188), 2637);
    cache.put(97, 2426);
    assert.equal(cache.get(960), 415);
    cache.put(822, 2188);
    cache.put(356, 644);
    assert.equal(cache.get(103), 264);
    assert.equal(cache.get(791), 1552);
    assert.equal(cache.get(849), null);
    cache.put(994, 842);
    cache.put(471, 2033);
    assert.equal(cache.get(284), 2799);
    cache.put(195, 614);
    assert.equal(cache.get(928), 2662);
    assert.equal(cache.get(96), 3107);
    cache.put(1230, 2256);
    assert.equal(cache.get(237), 2521);
    cache.put(1104, 2111);
    assert.equal(cache.get(1317), 63);
    cache.put(609, 1456);
    cache.put(1155, 2852);
    cache.put(709, 2272);
    cache.put(658, 2367);
    cache.put(322, 386);
    cache.put(458, 2758);
    cache.put(173, 3246);
    cache.put(666, 555);
    assert.equal(cache.get(350), 2027);
    cache.put(1369, 797);
    cache.put(1326, 1422);
    cache.put(715, 3160);
    assert.equal(cache.get(370), null);
    cache.put(574, 1727);
    cache.put(728, 1203);
    assert.equal(cache.get(60), 1696);
    cache.put(1193, 1295);
    cache.put(994, 2857);
    cache.put(190, 380);
    cache.put(1420, 2840);
    assert.equal(cache.get(1300), 2715);
    assert.equal(cache.get(859), 89);
    cache.put(414, 2540);
    assert.equal(cache.get(387), 1847);
    assert.equal(cache.get(1278), 183);
    cache.put(972, 1341);
    cache.put(906, 2525);
    assert.equal(cache.get(719), 1581);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(341), 1680);
    assert.equal(cache.get(652), 1539);
    assert.equal(cache.get(1276), null);
    assert.equal(cache.get(819), 87);
    assert.equal(cache.get(1098), 2993);
    cache.put(1326, 741);
    cache.put(622, 2807);
    assert.equal(cache.get(1032), 2924);
    cache.put(474, 2986);
    assert.equal(cache.get(328), 2333);
    assert.equal(cache.get(137), 2288);
    assert.equal(cache.get(917), 32);
    cache.put(612, 2231);
    assert.equal(cache.get(615), 1054);
    assert.equal(cache.get(478), 17);
    assert.equal(cache.get(1029), 2540);
    assert.equal(cache.get(244), 860);
    assert.equal(cache.get(808), 1879);
    assert.equal(cache.get(914), 927);
    assert.equal(cache.get(488), 243);
    cache.put(492, 63);
    assert.equal(cache.get(288), 2700);
    cache.put(1163, 623);
    cache.put(1303, 1269);
    assert.equal(cache.get(192), 35);
    cache.put(815, 533);
    cache.put(244, 2258);
    assert.equal(cache.get(1019), 1704);
    assert.equal(cache.get(1209), 936);
    assert.equal(cache.get(1183), 1917);
    assert.equal(cache.get(808), 1879);
    cache.put(1191, 2545);
    cache.put(1174, 2749);
    cache.put(100, 776);
    cache.put(1144, 191);
    assert.equal(cache.get(1024), 2689);
    cache.put(557, 1174);
    assert.equal(cache.get(394), 2558);
    assert.equal(cache.get(552), 1013);
    cache.put(295, 3074);
    cache.put(667, 603);
    cache.put(1264, 171);
    cache.put(1257, 1615);
    assert.equal(cache.get(743), 817);
    cache.put(523, 1829);
    cache.put(1356, 2018);
    assert.equal(cache.get(1219), 624);
    cache.put(962, 2786);
    cache.put(1174, 2247);
    cache.put(1430, 308);
    assert.equal(cache.get(863), 2309);
    cache.put(601, 3011);
    assert.equal(cache.get(652), 1539);
    cache.put(698, 1314);
    assert.equal(cache.get(935), 150);
    cache.put(893, 1834);
    cache.put(1063, 1090);
    cache.put(530, 619);
    cache.put(167, 997);
    cache.put(1420, 1871);
    assert.equal(cache.get(1017), null);
    assert.equal(cache.get(951), 446);
    assert.equal(cache.get(900), 392);
    cache.put(1373, 1100);
    assert.equal(cache.get(695), 1556);
    cache.put(94, 2079);
    cache.put(1238, 2977);
    assert.equal(cache.get(1023), 2754);
    cache.put(1304, 1350);
    cache.put(1123, 346);
    cache.put(1062, 902);
    cache.put(1012, 994);
    assert.equal(cache.get(1424), null);
    assert.equal(cache.get(14), 2154);
    cache.put(274, 3289);
    cache.put(202, 3074);
    cache.put(1166, 1363);
    cache.put(321, 3284);
    assert.equal(cache.get(185), 1845);
    cache.put(322, 480);
    assert.equal(cache.get(223), 1131);
    assert.equal(cache.get(397), 1024);
    cache.put(1012, 2312);
    assert.equal(cache.get(144), null);
    cache.put(1128, 1231);
    assert.equal(cache.get(805), null);
    assert.equal(cache.get(31), 2494);
    cache.put(822, 2282);
    cache.put(1137, 659);
    cache.put(1223, 2991);
    assert.equal(cache.get(1301), 1884);
    cache.put(1367, 2461);
    cache.put(274, 1022);
    cache.put(504, 2331);
    assert.equal(cache.get(1104), null);
    cache.put(366, 2960);
    cache.put(701, 541);
    cache.put(169, 1117);
    cache.put(642, 824);
    cache.put(1320, 1354);
    assert.equal(cache.get(471), 2033);
    assert.equal(cache.get(1121), null);
    assert.equal(cache.get(1369), 797);
    assert.equal(cache.get(535), 2447);
    assert.equal(cache.get(1291), 855);
    cache.put(1415, 2358);
    cache.put(1049, 360);
    assert.equal(cache.get(1188), 2637);
    assert.equal(cache.get(639), 2018);
    cache.put(702, 2605);
    assert.equal(cache.get(1069), 3179);
    assert.equal(cache.get(799), null);
    cache.put(967, 3269);
    cache.put(966, 2077);
    assert.equal(cache.get(1189), 1341);
    cache.put(436, 1399);
    assert.equal(cache.get(1170), 1882);
    cache.put(1010, 1170);
    assert.equal(cache.get(467), 2127);
    cache.put(1409, 1027);
    assert.equal(cache.get(931), null);
    assert.equal(cache.get(547), 1323);
    cache.put(1159, 1333);
    assert.equal(cache.get(644), 2750);
    cache.put(971, 2634);
    cache.put(774, 1054);
    cache.put(1388, 212);
    cache.put(1106, 2492);
    assert.equal(cache.get(1365), null);
    cache.put(872, 406);
    assert.equal(cache.get(599), null);
    cache.put(1409, 2188);
    cache.put(518, 2139);
    cache.put(362, 549);
    assert.equal(cache.get(539), null);
    cache.put(832, 501);
    cache.put(320, 2488);
    cache.put(314, 2544);
    cache.put(737, 174);
    assert.equal(cache.get(828), null);
    assert.equal(cache.get(181), 792);
    cache.put(823, 1784);
    cache.put(467, 357);
    cache.put(764, 162);
    cache.put(400, 1497);
    assert.equal(cache.get(1389), null);
    cache.put(394, 1510);
    cache.put(763, 1028);
    cache.put(854, 3221);
    assert.equal(cache.get(1312), 1669);
    assert.equal(cache.get(907), 3044);
    cache.put(1067, 2569);
    assert.equal(cache.get(347), 554);
    assert.equal(cache.get(485), null);
    assert.equal(cache.get(863), 2309);
    assert.equal(cache.get(1162), 1056);
    cache.put(1, 2070);
    cache.put(792, 3170);
    cache.put(1223, 1872);
    cache.put(1257, 679);
    cache.put(1234, 3194);
    cache.put(968, 1313);
    cache.put(303, 1496);
    assert.equal(cache.get(778), null);
    cache.put(1215, 1757);
    cache.put(382, 1155);
    cache.put(1221, 737);
    cache.put(1159, 767);
    cache.put(992, 829);
    assert.equal(cache.get(434), 1481);
    cache.put(1233, 2510);
    cache.put(425, 1899);
    assert.equal(cache.get(391), 1610);
    assert.equal(cache.get(63), 1801);
    assert.equal(cache.get(1154), 2094);
    assert.equal(cache.get(1134), 2718);
    cache.put(1143, 1939);
    assert.equal(cache.get(400), 1497);
    assert.equal(cache.get(711), 1527);
    assert.equal(cache.get(68), 524);
    assert.equal(cache.get(1015), 392);
    cache.put(589, 1669);
    assert.equal(cache.get(411), null);
    cache.put(181, 1011);
    cache.put(781, 2580);
    cache.put(531, 121);
    cache.put(695, 620);
    cache.put(471, 2817);
    assert.equal(cache.get(504), 2331);
    assert.equal(cache.get(142), 3169);
    assert.equal(cache.get(1280), null);
    cache.put(1273, 2288);
    assert.equal(cache.get(504), 2331);
    assert.equal(cache.get(359), null);
    assert.equal(cache.get(271), 3091);
    cache.put(845, 2010);
    assert.equal(cache.get(1268), 2406);
    cache.put(373, 2948);
    assert.equal(cache.get(1288), 2604);
    assert.equal(cache.get(1276), null);
    cache.put(597, 2802);
    cache.put(654, 245);
    cache.put(1335, 598);
    assert.equal(cache.get(418), 557);
    assert.equal(cache.get(368), null);
    cache.put(944, 2670);
    cache.put(1169, 250);
    assert.equal(cache.get(792), 3170);
    cache.put(131, 2126);
    cache.put(707, 1783);
    assert.equal(cache.get(560), 10);
    assert.equal(cache.get(283), 3166);
    assert.equal(cache.get(141), 1254);
    assert.equal(cache.get(1202), null);
    assert.equal(cache.get(1097), 1652);
    assert.equal(cache.get(337), 94);
    assert.equal(cache.get(702), 2605);
    cache.put(874, 801);
    cache.put(809, 114);
    assert.equal(cache.get(889), null);
    assert.equal(cache.get(165), null);
    cache.put(1295, 1137);
    cache.put(344, 1733);
    assert.equal(cache.get(630), 1300);
    assert.equal(cache.get(867), null);
    assert.equal(cache.get(246), null);
    cache.put(444, 147);
    cache.put(1077, 1887);
    cache.put(583, 909);
    cache.put(750, 1997);
    cache.put(1299, 2763);
    assert.equal(cache.get(1174), 2247);
    assert.equal(cache.get(989), 474);
    cache.put(897, 1417);
    cache.put(452, 2834);
    cache.put(90, 2727);
    assert.equal(cache.get(464), 627);
    cache.put(1103, 2037);
    cache.put(352, 2783);
    assert.equal(cache.get(154), 2916);
    cache.put(144, 2465);
    assert.equal(cache.get(318), 190);
    assert.equal(cache.get(315), null);
    cache.put(966, 2765);
    cache.put(1311, 3227);
    assert.equal(cache.get(151), 1235);
    cache.put(76, 1083);
    assert.equal(cache.get(1384), 3208);
    assert.equal(cache.get(129), 3065);
    cache.put(1087, 742);
    assert.equal(cache.get(472), 1847);
    assert.equal(cache.get(853), 1260);
    cache.put(236, 202);
    cache.put(178, 149);
    cache.put(746, 113);
    cache.put(243, 2443);
    assert.equal(cache.get(1336), null);
    assert.equal(cache.get(1), 2070);
    assert.equal(cache.get(530), 619);
    assert.equal(cache.get(1415), 2358);
    assert.equal(cache.get(363), 253);
    cache.put(1144, 2954);
    assert.equal(cache.get(184), 2525);
    assert.equal(cache.get(1003), 1458);
    cache.put(384, 1764);
    assert.equal(cache.get(482), 227);
    cache.put(735, 487);
    assert.equal(cache.get(675), 2658);
    assert.equal(cache.get(6), null);
    cache.put(159, 1890);
    assert.equal(cache.get(1), 2070);
    assert.equal(cache.get(56), null);
    assert.equal(cache.get(1059), 983);
    assert.equal(cache.get(1148), 2774);
    assert.equal(cache.get(606), null);
    cache.put(794, 1509);
    assert.equal(cache.get(1422), 100);
    assert.equal(cache.get(151), 1235);
    cache.put(585, 2141);
    cache.put(1240, 2748);
    cache.put(336, 3197);
    cache.put(92, 185);
    cache.put(475, 232);
    assert.equal(cache.get(1415), 2358);
    cache.put(761, 1804);
    cache.put(319, 367);
    assert.equal(cache.get(901), 782);
    cache.put(1059, 2668);
    cache.put(274, 2592);
    cache.put(972, 2403);
    cache.put(622, 1310);
    cache.put(742, 1084);
    cache.put(419, 2213);
    cache.put(253, 2693);
    cache.put(802, 2437);
    cache.put(1358, 1567);
    cache.put(649, 2881);
    cache.put(474, 918);
    cache.put(1006, 496);
    cache.put(1073, 1548);
    assert.equal(cache.get(750), 1997);
    cache.put(607, 2549);
    assert.equal(cache.get(1360), 2937);
    assert.equal(cache.get(516), 917);
    assert.equal(cache.get(520), null);
    assert.equal(cache.get(1390), 2011);
    cache.put(1258, 3179);
    cache.put(1004, 1131);
    cache.put(971, 1761);
    cache.put(491, 561);
    assert.equal(cache.get(239), 2736);
    cache.put(125, 525);
    assert.equal(cache.get(56), null);
    cache.put(1000, 73);
    assert.equal(cache.get(1230), null);
    cache.put(11, 2518);
    cache.put(826, 3);
    cache.put(374, 1288);
    cache.put(248, 2482);
    cache.put(708, 1107);
    cache.put(145, 400);
    assert.equal(cache.get(425), 1899);
    cache.put(1238, 503);
    cache.put(1154, 2481);
    assert.equal(cache.get(996), null);
    assert.equal(cache.get(439), 1467);
    cache.put(1411, 757);
    assert.equal(cache.get(1167), null);
    cache.put(333, 1898);
    cache.put(236, 866);
    cache.put(11, 2949);
    cache.put(1036, 158);
    cache.put(551, 2100);
    cache.put(106, 675);
    assert.equal(cache.get(33), 97);
    assert.equal(cache.get(199), 1640);
    cache.put(825, 1870);
    cache.put(153, 1037);
    cache.put(767, 1634);
    assert.equal(cache.get(871), null);
    cache.put(444, 677);
    assert.equal(cache.get(1281), 1100);
    cache.put(1387, 1463);
    cache.put(707, 993);
    cache.put(990, 28);
    cache.put(483, 1981);
    cache.put(673, 2786);
    cache.put(209, 1784);
    assert.equal(cache.get(1273), null);
    assert.equal(cache.get(45), 3095);
    assert.equal(cache.get(757), 3064);
    cache.put(1309, 1917);
    cache.put(176, 1859);
    cache.put(1183, 1222);
    assert.equal(cache.get(82), 509);
    assert.equal(cache.get(422), 546);
    assert.equal(cache.get(668), 649);
    assert.equal(cache.get(1351), null);
    cache.put(306, 2099);
    cache.put(1346, 719);
    cache.put(888, 73);
    cache.put(1144, 3172);
    cache.put(70, 2153);
    assert.equal(cache.get(54), 15);
    cache.put(65, 995);
    cache.put(1067, 2294);
    cache.put(361, 72);
    cache.put(1093, 2817);
    assert.equal(cache.get(1291), 855);
    cache.put(1368, 2398);
    cache.put(1079, 1458);
    assert.equal(cache.get(1151), 1535);
    cache.put(871, 1656);
    cache.put(485, 2725);
    assert.equal(cache.get(596), 3162);
    assert.equal(cache.get(363), 253);
    cache.put(1207, 2820);
    assert.equal(cache.get(525), 761);
    cache.put(1331, 2129);
    assert.equal(cache.get(563), 483);
    cache.put(734, 716);
    assert.equal(cache.get(707), 993);
    assert.equal(cache.get(792), 3170);
    cache.put(1237, 2305);
    assert.equal(cache.get(1182), null);
    assert.equal(cache.get(214), null);
    cache.put(331, 3137);
    assert.equal(cache.get(66), 3127);
    assert.equal(cache.get(1211), 3302);
    cache.put(1091, 219);
    cache.put(1105, 1126);
    cache.put(465, 1523);
    assert.equal(cache.get(617), 887);
    assert.equal(cache.get(888), 73);
    cache.put(1231, 1500);
    cache.put(217, 250);
    assert.equal(cache.get(202), 3074);
    assert.equal(cache.get(83), 966);
    cache.put(1090, 2738);
    assert.equal(cache.get(767), 1634);
    cache.put(910, 2385);
    cache.put(1052, 1815);
    cache.put(26, 1515);
    cache.put(236, 1277);
    cache.put(192, 1661);
    assert.equal(cache.get(273), 1685);
    cache.put(424, 1404);
    cache.put(947, 255);
    cache.put(551, 2356);
    cache.put(447, 1348);
    assert.equal(cache.get(403), 2670);
    cache.put(42, 1404);
    assert.equal(cache.get(799), null);
    cache.put(270, 2876);
    cache.put(569, 1250);
    assert.equal(cache.get(866), 2651);
    assert.equal(cache.get(574), 1727);
    assert.equal(cache.get(933), 617);
    assert.equal(cache.get(361), null);
    assert.equal(cache.get(775), 364);
    assert.equal(cache.get(1408), null);
    cache.put(741, 1104);
    assert.equal(cache.get(412), 2842);
    assert.equal(cache.get(415), null);
    cache.put(736, 2771);
    cache.put(54, 870);
    assert.equal(cache.get(165), null);
    assert.equal(cache.get(451), 2700);
    assert.equal(cache.get(864), 439);
    cache.put(197, 656);
    assert.equal(cache.get(215), 3121);
    cache.put(650, 1174);
    cache.put(275, 2987);
    cache.put(168, 768);
    cache.put(1205, 627);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(1154), 2481);
    assert.equal(cache.get(710), 2059);
    cache.put(485, 597);
    assert.equal(cache.get(1412), null);
    assert.equal(cache.get(99), 3211);
    cache.put(176, 2755);
    assert.equal(cache.get(1368), 2398);
    assert.equal(cache.get(1347), 1927);
    cache.put(88, 2182);
    cache.put(306, 553);
    cache.put(582, 647);
    cache.put(572, 2904);
    cache.put(729, 2);
    assert.equal(cache.get(172), null);
    assert.equal(cache.get(732), null);
    cache.put(138, 171);
    cache.put(1353, 1665);
    cache.put(393, 1005);
    cache.put(140, 2849);
    cache.put(1176, 3144);
    cache.put(1236, 1031);
    cache.put(177, 430);
    cache.put(254, 2963);
    cache.put(202, 1196);
    assert.equal(cache.get(876), null);
    assert.equal(cache.get(620), 1988);
    cache.put(1345, 2485);
    cache.put(360, 1033);
    cache.put(734, 1714);
    assert.equal(cache.get(736), 2771);
    cache.put(555, 343);
    cache.put(62, 1028);
    cache.put(1079, 1636);
    assert.equal(cache.get(1028), 2562);
    assert.equal(cache.get(271), 3091);
    cache.put(586, 2055);
    assert.equal(cache.get(791), 1552);
    cache.put(1041, 3276);
    assert.equal(cache.get(713), null);
    cache.put(47, 963);
    cache.put(202, 720);
    cache.put(355, 1416);
    cache.put(246, 2900);
    assert.equal(cache.get(1256), 2158);
    assert.equal(cache.get(1103), 2037);
    cache.put(626, 598);
    cache.put(779, 1541);
    cache.put(1376, 2142);
    assert.equal(cache.get(222), null);
    cache.put(186, 1714);
    assert.equal(cache.get(515), 2970);
    assert.equal(cache.get(359), null);
    assert.equal(cache.get(921), 520);
    cache.put(285, 1595);
    assert.equal(cache.get(786), null);
    assert.equal(cache.get(461), 2660);
    cache.put(226, 2043);
    assert.equal(cache.get(941), 3303);
    cache.put(525, 2759);
    assert.equal(cache.get(110), null);
    cache.put(117, 1840);
    assert.equal(cache.get(1018), 820);
    cache.put(997, 492);
    cache.put(885, 594);
    cache.put(1004, 147);
    cache.put(464, 1426);
    cache.put(15, 143);
    assert.equal(cache.get(1179), 911);
    cache.put(14, 663);
    cache.put(386, 846);
    assert.equal(cache.get(14), 663);
    cache.put(566, 1772);
    assert.equal(cache.get(133), 3054);
    assert.equal(cache.get(1226), null);
    cache.put(1189, 1528);
    cache.put(296, 1164);
    cache.put(1401, 292);
    cache.put(223, 1331);
    assert.equal(cache.get(1427), 1926);
    cache.put(542, 2472);
    assert.equal(cache.get(1367), 2461);
    assert.equal(cache.get(31), 2494);
    assert.equal(cache.get(482), 227);
    cache.put(128, 1235);
    assert.equal(cache.get(258), 2910);
    assert.equal(cache.get(160), 2646);
    cache.put(1060, 2329);
    assert.equal(cache.get(1008), 1988);
    cache.put(1305, 3018);
    cache.put(960, 1355);
    cache.put(1396, 2700);
    cache.put(1330, 509);
    cache.put(403, 2039);
    assert.equal(cache.get(946), null);
    cache.put(712, 656);
    cache.put(1255, 3040);
    cache.put(87, 3124);
    cache.put(124, 1331);
    cache.put(916, 167);
    cache.put(1036, 433);
    cache.put(875, 2110);
    assert.equal(cache.get(664), null);
    assert.equal(cache.get(526), 1241);
    assert.equal(cache.get(792), 3170);
    cache.put(87, 2959);
    cache.put(948, 2518);
    cache.put(1041, 851);
    assert.equal(cache.get(91), 2998);
    assert.equal(cache.get(7), 296);
    cache.put(320, 151);
    assert.equal(cache.get(1234), 3194);
    cache.put(649, 220);
    cache.put(96, 2075);
    cache.put(1080, 390);
    cache.put(1113, 3203);
    cache.put(1108, 958);
    cache.put(1226, 1807);
    cache.put(813, 935);
    cache.put(950, 2851);
    assert.equal(cache.get(1351), null);
    cache.put(1053, 613);
    cache.put(722, 1525);
    assert.equal(cache.get(1379), 545);
    cache.put(77, 374);
    assert.equal(cache.get(606), null);
    cache.put(9, 1613);
    cache.put(903, 2445);
    assert.equal(cache.get(727), 2957);
    assert.equal(cache.get(598), 492);
    assert.equal(cache.get(1265), 498);
    cache.put(908, 3235);
    assert.equal(cache.get(256), 1481);
    cache.put(1210, 2411);
    assert.equal(cache.get(609), 1456);
    cache.put(289, 2083);
    cache.put(11, 1297);
    cache.put(474, 524);
    cache.put(438, 3075);
    cache.put(1419, 1691);
    cache.put(954, 1896);
    assert.equal(cache.get(953), 2010);
    cache.put(1123, 283);
    assert.equal(cache.get(760), null);
    assert.equal(cache.get(47), 963);
    cache.put(336, 2304);
    cache.put(337, 1141);
    assert.equal(cache.get(133), 3054);
    assert.equal(cache.get(748), 815);
    cache.put(1298, 2620);
    cache.put(1032, 2157);
    assert.equal(cache.get(1368), 2398);
    cache.put(930, 2453);
    cache.put(1027, 1465);
    cache.put(1049, 2142);
    assert.equal(cache.get(507), 2760);
    assert.equal(cache.get(20), 3014);
    assert.equal(cache.get(453), 1593);
    cache.put(1198, 2038);
    cache.put(672, 1776);
    assert.equal(cache.get(907), 3044);
    assert.equal(cache.get(728), null);
    cache.put(945, 2938);
    cache.put(1346, 1131);
    assert.equal(cache.get(1227), null);
    cache.put(547, 1001);
    assert.equal(cache.get(15), 143);
    assert.equal(cache.get(1271), 1402);
    assert.equal(cache.get(1149), 121);
    cache.put(36, 1507);
    cache.put(231, 1125);
    assert.equal(cache.get(181), 1011);
    cache.put(1131, 2956);
    assert.equal(cache.get(516), 917);
    cache.put(766, 1750);
    cache.put(1159, 475);
    assert.equal(cache.get(689), 2681);
    assert.equal(cache.get(339), 420);
    assert.equal(cache.get(372), 2306);
    cache.put(726, 3027);
    cache.put(155, 1393);
    assert.equal(cache.get(113), 1133);
    cache.put(691, 3278);
    assert.equal(cache.get(69), 2868);
    cache.put(1130, 1165);
    cache.put(1223, 738);
    cache.put(669, 2141);
    cache.put(1326, 1467);
    cache.put(940, 1015);
    cache.put(775, 1347);
    cache.put(1193, 1617);
    cache.put(476, 1441);
    assert.equal(cache.get(574), 1727);
    assert.equal(cache.get(1399), 2229);
    cache.put(514, 2962);
    cache.put(362, 2285);
    cache.put(1162, 470);
    assert.equal(cache.get(1362), null);
    cache.put(1078, 1782);
    assert.equal(cache.get(942), 2793);
    assert.equal(cache.get(766), 1750);
    assert.equal(cache.get(252), 2667);
    cache.put(877, 2760);
    cache.put(1287, 1133);
    assert.equal(cache.get(851), null);
    cache.put(1211, 1150);
    cache.put(373, 2031);
    cache.put(1291, 1228);
    assert.equal(cache.get(6), null);
    cache.put(494, 369);
    assert.equal(cache.get(1215), 1757);
    assert.equal(cache.get(634), null);
    cache.put(33, 2759);
    cache.put(1046, 1833);
    cache.put(1036, 1389);
    cache.put(1179, 429);
    cache.put(307, 3231);
    assert.equal(cache.get(584), 571);
    assert.equal(cache.get(348), 1974);
    assert.equal(cache.get(223), 1331);
    assert.equal(cache.get(1070), 3037);
    assert.equal(cache.get(1396), 2700);
    cache.put(1305, 2213);
    cache.put(512, 380);
    assert.equal(cache.get(545), 1728);
    assert.equal(cache.get(369), null);
    cache.put(1323, 2988);
    cache.put(1057, 748);
    cache.put(838, 2115);
    cache.put(628, 3301);
    assert.equal(cache.get(18), 2282);
    assert.equal(cache.get(630), 1300);
    assert.equal(cache.get(810), 1282);
    cache.put(1362, 3108);
    assert.equal(cache.get(802), 2437);
    cache.put(348, 1111);
    assert.equal(cache.get(1005), 3006);
    cache.put(53, 1050);
    cache.put(762, 3071);
    cache.put(446, 2426);
    cache.put(1102, 127);
    cache.put(251, 2103);
    cache.put(120, 2267);
    cache.put(1324, 1796);
    cache.put(1030, 2298);
    assert.equal(cache.get(867), null);
    cache.put(1424, 2524);
    assert.equal(cache.get(36), 1507);
    cache.put(1053, 2774);
    cache.put(66, 870);
    cache.put(1169, 2054);
    cache.put(711, 1152);
    cache.put(464, 673);
    assert.equal(cache.get(904), 2311);
    assert.equal(cache.get(913), 1218);
    cache.put(788, 2440);
    cache.put(420, 2869);
    cache.put(153, 1498);
    cache.put(1103, 3117);
    cache.put(299, 1659);
    cache.put(1026, 2991);
    cache.put(247, 1783);
    assert.equal(cache.get(613), 2785);
    assert.equal(cache.get(1011), null);
    cache.put(197, 1530);
    assert.equal(cache.get(589), null);
    assert.equal(cache.get(1421), 2048);
    assert.equal(cache.get(500), null);
    cache.put(1293, 184);
    cache.put(1178, 1093);
    cache.put(491, 468);
    assert.equal(cache.get(521), null);
    assert.equal(cache.get(638), 622);
    assert.equal(cache.get(1296), 1532);
    assert.equal(cache.get(793), 1056);
    cache.put(892, 1923);
    cache.put(354, 1034);
    assert.equal(cache.get(1142), null);
    cache.put(1217, 3126);
    assert.equal(cache.get(1016), 2103);
    assert.equal(cache.get(398), 1392);
    cache.put(433, 1143);
    cache.put(1084, 3178);
    cache.put(60, 2858);
    assert.equal(cache.get(1426), 2109);
    cache.put(952, 2626);
    assert.equal(cache.get(630), 1300);
    cache.put(110, 758);
    assert.equal(cache.get(283), 3166);
    cache.put(57, 1768);
    assert.equal(cache.get(677), 91);
    cache.put(655, 1744);
    cache.put(512, 2656);
    assert.equal(cache.get(350), 2027);
    assert.equal(cache.get(446), 2426);
    assert.equal(cache.get(138), 171);
    cache.put(84, 677);
    assert.equal(cache.get(128), null);
    cache.put(304, 595);
    cache.put(617, 1316);
    assert.equal(cache.get(510), 2512);
    assert.equal(cache.get(580), 198);
    assert.equal(cache.get(748), 815);
  });
});
